sql调优方法实用性总结

Posted wineman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql调优方法实用性总结相关的知识,希望对你有一定的参考价值。

1.选择最有效率的表名顺序(只在基于规则的优化器):
Oracle的解析器按照从右向左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理(基础表先处理,driving table),在FROM中你有多个表时候,必须选择记录条数最少的,作为基础表;假如有3个以上的表连接查询,那就需要选择交叉表作为基础表,交叉表就是那个被其他表所引用的表
 
2.WHERE 子句中的链接顺序:
Oracle采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,哪些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。
 
3.SELECT子句中避免使用 *
Oracle在解析的过程中,会将 * 依次转换成所有的列名,通过查询数据字典完成的,这就意味着将耗费更多的时间
 
4.减少访问数据库的次数
Oracle在内部执行了许多工作:解析sql语句,估算索引的利用率,绑定变量,读数据块等等。
 
5.在SQL*Plus,SQL*Froms和PRo*C中重新设置ARRAYSIZE参数,可以增加每次数据库访问的检索数据量,建议值为200
 
6.使用DECODE函数来减少处理时间
 
7.整合简单,无关联的数据库访问
假如有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间么有关系)
 
8.删除重复数据
 

以上是关于sql调优方法实用性总结的主要内容,如果未能解决你的问题,请参考以下文章

Hive SQL 参数与性能调优

sql调优的总结

部门挖来了月薪80K的京东大佬,总结了堪称完美的SQL调优笔记

SQL Server调优系列基础篇(并行运算总结)

SQL Server调优系列基础篇(索引运算总结)

SQL Server调优系列基础篇(并行运算总结篇二)