自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 一个相对较难需求的实现

前提:某施人员(工号)会进行排班施工(有开始结束时间,同一工序持续时间不一定相同), 工序包括某几个步骤,用逗号分隔。有工号排班表,工序步骤表。要求:统计出排班的步骤冲突情况。具体为某一步骤会同时被3个或3个以上施工人员同时占用情况.求输出结果: 步骤,工号(同逗号分开),冲突时间(第三个冲突开始时间) 如下例有2个冲突L1 N1,N2,N3 18:08:20L

2016-11-23 14:36:40 253

原创 在数据仓库中代理关键字的作用

在数据仓库的维度建模中,我们极力提倡使用代理关键字,而不依赖操作型系统编码。即在维度建模中利用代理关键字去连接去连接事实表。代理关键字可以在空间上节省很大,比如在一个事实表中利用操作型关键字去填充事实表,跟用整形的代理关键字去填充事实表,这个事实表的大小两者间相差还是挺大的,在我们做表设计的时候是尽量减小表的大小,这样有利用提高查询性能,而且数据库在连接的时候他也会通过自身的函数把连接关键字转

2016-11-11 15:44:25 734

原创 在数据仓库中维度建模的认识

在数据仓库中建模的方式我们采用的是维度建模,而不采用三范式的结构。   三范式建模的方式有利于OLTP系统的更新插入操作,比如我需要在OLTP系统上更新一个表的数据,如果我采用的是维度建模方式,代表着我更新这个字段需要扫描更多的块才能找到相应的记录去更改,对于insert操作也是如此,这是需要操作跟多的I/O,在OLTP系统中我们是以事物为主,所以采用三范式设计还是比较理想的。   而对于

2016-11-10 10:54:46 616

原创 利用列转行函数减少表的访问

sql我只提供一需要改的sql,具体如下,写表已经经过替换:select t.id, a as a,0 as LOC,col,col1,col2,col3from tabne_name twhere a is not nullunion allselect t.id,b as a,1 as LOC,col,col1,col2,col3from tabne_name t 

2016-11-09 10:07:48 249

原创 对超长sql优化体会

可能对于大多数人对于超长的sql优化,可能看sql去理解逻辑都要花很长时间,尤其在帮别人优化的过程中,在不理解业务的情况下更是无从下手,其实对于超长sql的优化,其实并没有想象中的那么难,对于那些超长sql,我们只需要明白,其中有特殊的操作,比如在sql中有没有视图,有没有子查询,有没有标量查询,这些都是一些要考虑的问题,这只是观察,并不需要我们去理解真正sql想表达的含义。当我们看完sql以后,

2016-11-04 09:26:30 2577

原创 exists比in高效?

实例结果如下:用exists的执行计划如下:select * from emp a where  exists (select 1 from emp b where a.empno=b.empno  start with  empno=7839 connect by prior empno = mgr);用in的执行计划如下:select * from emp a wh

2016-10-31 11:55:47 279

原创 乱用函数导致sql变慢

由于涉及到一些重要数据不能展现,所以只能用测试表:create table test as select * from dba_object;create index ind_sb1 on  test(owner,object_name);explain plan for select COUNT(*) from test where owner='SCOTT' and s

2016-10-28 17:53:41 231

原创 利用sql改写去掉执行计划中的filter

由于涉及到一下敏感的数据,所以只能用试验环境演示,情况如下:create table test as  select * from dba_objects ;create table test1 as  select * from dba_objects ;select *  from (select *          from test b         whe

2016-10-28 14:52:21 1110

原创 mysql利用自定义变量实现分析函数

公司存在一个需求,对考勤进行统计。考勤机的信息记录如下:员工编号|员工名称| 打卡日期 |打卡时间select * from table_name;001    |li          |2016-10-20  |18:15002    |yang    |2016-10-20|09:28003    |li1  |2016-10-20 |09:26003  

2016-10-24 11:01:59 431

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除