SQL优化(Oracle)

来源:互联网 发布:js 不等于多个值 编辑:程序博客网 时间:2024/06/07 11:55

1. 选择有效率的表名排序

     在FROM子句中包含多个表的情况下,选择条数最少的表做基础表(第一个被访问的表、FROM子句最后面的表)

     如果有3个以上的表连接查询,选择交叉表(被其他表引用的表)做基础表

2.WHERE子句的执行顺序

     采用自后而前的顺序解析WHERE子句,根据这个原则,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾

3.用EXISTS替代IN,用NOT EXISTS替代NOT IN

4.避免在索引列上使用NOT

5.在索引列上用UNION代替OR

6.两个表进行JOIN时,大表放在前面,JOIN字段建索引

7.尽量不用临时表