SQL语句优化规律总结.doc

上传人:自*** 文档编号:124085493 上传时间:2020-03-11 格式:DOC 页数:4 大小:34.02KB
返回 下载 相关 举报
SQL语句优化规律总结.doc_第1页
第1页 / 共4页
SQL语句优化规律总结.doc_第2页
第2页 / 共4页
SQL语句优化规律总结.doc_第3页
第3页 / 共4页
SQL语句优化规律总结.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《SQL语句优化规律总结.doc》由会员分享,可在线阅读,更多相关《SQL语句优化规律总结.doc(4页珍藏版)》请在金锄头文库上搜索。

1、SQL语句优化规律总结(ORACLE)1、FROM: ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表(放在where的最后) 。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.2、WHERE: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必

2、须写在WHERE子句的末尾。3、在where子句中使用is null或is not null的语句优化器是不允许使用索引的,尽量不用。4、少使用或不使用NOT。5、如果通配符(%)在搜寻词首出现, Oracle系统不使用此列做索引。在很多情况下可能无法避免这种情况,但是一定要心中有底,通配符如此使用会降低查询速度。然而当通配符出现在字符串其他位置时,优化器就能利用索引。在下面的查询中索引得到了使用select * from employee where last_name like c%; 6、 SELECT子句中避免使用 * 7、避免在索引列上使用计算如(WHERE SAL 25000/12

3、)8、任何在Order by语句的非索引项或者有计算表达式都将降低查询速度。9、关于IN、exists和DISTINCT第一种格式是使用IN操作符:. where column in(select * from . where .); 第二种格式是使用EXIST操作符:. where exists (select X from .where .); 第二种格式要远比第一种格式的效率高。 通常来说 , 采用表连接(emp.depart_cod=depart.depart_code)的方式比EXISTS更有效率所以:连接existsIN。用EXISTS替换DISTINCT当提交一个包含一对多表信息

4、(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换低效: SELECT DISTINCT DEPT_NO,DEPT_NAME FROM DEPT D,EMP E WHERE D.DEPT_NO = E.DEPT_NO高效: SELECT DEPT_NO,DEPT_NAME FROM DEPT D WHERE EXISTS ( SELECT X FROM EMP E WHERE E.DEPT_NO = D.DEPT_NO);10、下面的查询将强迫对orders表执行顺序操作:SELECT FROM orders WHERE (custom

5、er_num=104 AND order_num1001) OR order_num=1008虽然在customer_num和order_num上建有索引,但是在上面的语句中优化器还是使用顺序存取路径扫描整个表。因为这个语句要检索的是分离的行的集合,所以应该改为如下语句:SELECT FROM orders WHERE customer_num=104 AND order_num1001UNION SELECT FROM orders WHERE order_num=1008这样就能利用索引路径处理查询。11、避免相关子查询一个列的标签同时在主查询和where子句中的查询中出现,那么很可能当主查询中的列值改变之后,子查询必须重新查询一次。查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。12、在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号