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调优方法实用性总结的主要内容,如果未能解决你的问题,请参考以下文章