- 博客(11)
- 收藏
- 关注
原创 使用Hint优化复杂SQL案例-2
复杂的谓词条件会导致优化器对行源估值存在较大偏差,收集直方图信息可能会帮助优化器对行源做出正确评估,有时还需要结合扩展统计信息收集来帮助优化器估值
2015-04-26 20:32:37
409
原创 使用Hint优化复杂SQL案例-1
oracle数据库的优化器,在遇到SQL使用复杂的谓词条件,在计算cos值的时候有可能会计算错误,这时需要人工对SQL进行干预,通过Hint帮助优化器选择正确的执行计划路径
2015-04-26 20:07:28
593
原创 表字段的定义,null还是not null?
表字段定义,NULL还是NOT NULL,要根据业务需要来定义,一般不建议使用NULL,会有很多的弊端。将可以为空的字段定义为NOT NULL,再设置default,是一种比较好的做法。
2015-04-26 19:25:08
1442
原创 区间检索SQL优化一则
在区间检索的SQL中,如where bind_value between cola and colb 如果返回的结果最多为一条,可以创建cola字段上的降序索引或是colb字段上的正常索引,再加上rownum=1的谓词条件,就可以达到优化的目的。 如果创建的是cola字段上的普通索引,这需要使用index_rs_desc的hint来对SQL进行优化
2015-04-24 13:17:32
441
原创 准确的统计信息是执行计划正确的基本前提,6.8小时-->9秒
因为SQL相关表统计信息未能及时收集,导致优化器在错误统计信息的误导下,做出了错误的执行计划。收集了最新的统计信息后,优化器可以选择“最佳路径”,原来需要6.8小时完成的SQL,9秒钟就完成了。性能提高2720倍。
2015-04-24 12:09:11
316
原创 标量子查询SQL改写一则(包括WITH的改写)
在主查询返回大量结果集的情况下,标量子查询(Scalar Subquery)的性能是非常差的,而且即使使用并行也不行,这种情况一般需要根据SQL本身的逻辑进行改写,一般可以改写为外关联的方式。部分标量子查询还可以直接使用分析函数(window function)进行改写,不需要外关联。
2015-04-21 15:46:46
790
原创 DW 星形联接SQL调优一则
星形联接SQL性能不佳,使用了SQL改写和Hint两种方式对SQL进行优化,其中使用到了SQL优化的工具SQLHC,其中的sql monitor文件也是sqlhc工具自动生成,sql monitor显示的实际行数和执行次数两列对sql优化起到了至关重要的作用。
2015-04-20 17:28:10
672
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人