1.在where子句中使用 is null 或 is not null 时,oracle优化器就不能使用索引了.
2.对于有连接的列,即使最有一个是静态的值,优化器也不会使用索引
比如: select * from employss where first_name||''||last_name='Beill cliton'
要写成 :select * from employss where first_name='Beill' and last_name='Beill cliton'
这时oracle 就会采用 基于 last_name 的索引
3.带通配符 (%) 的 like 语句
比如: select * from employee where last_name like '%cliton%';
%在词首出现oracle系统就不能使用 last_name 的索引;
select * from employee where last_name like 'cliton%'
4:order by
任何在order by语句的非索引项或者表达式都会降低查询效率;
5:NOT
<>是就相当于NOT
① select * from salary<>3000;
② select * from salary >3000 or salary <3000
①和②的查询结果是一样的,但②允许oracle对salary列使用索引,效率高
NOT会产生在和在索引列上使用函数相同的影响. 当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描.
6: exist 代替 in
not exist 代替 not in
select * from A where id in(select id from B)
以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B表中的 id相等,如果相等则将 A表的记录加入结果集中,直到遍历完A表的所有记录.
exist 比 in 的执行效率更高
相关推荐
Oracle——sql语句优化
ORACLE数据库SQL语句编写优化
oracle中SQL语句优化
ORACLE数据库SQL语句编写优化总结文档
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
oracle性能优化中SQL语句优化,简单的优化思想、常见的优化命令
ORACLE_SQL语句优化资料
Oracle中SQL语句优化原理分析
SQL优化 SQL优化软件 SQL优化工具 很好用的工具,可以分析优化TSQL语句,oracle数据库语句优化工具
Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理 Oracle常用sql语句整理
oracle的SQL语句的一些经验总结,里边有很多大家和自己的东西。
ORACLE_SQL语句优化技术分析
Oracle SQL语句性能优化
oracle常用SQL语句下载 oracle常用SQL语句下载 oracle常用SQL语句下载
ORACLEsql语句优化,性能优化,语句技巧优化
很适合开发人员在编写SQL时注意,这里虽然说是Oracle的优化,其实,很多是标准SQL需要注意的写法。具有非常高的共通性。 1.选用适合的ORACLE优化器 2.HERE子句中的连接顺序 3.通过内部函数提高SQL效率 4.EXISTS与IN...
对ORACLE-SQL进行一些布局优化,更新它的格式
Oracle SQL 语句优化53个规则详解
ORACLE+SQL语句优化技术分析,提高sql在数据库的运行速度
ORACLE_SQL语句优化技术分析,语句优化技术是DBA必备的技能,此教材适合新手