标签:
2.选择最有效率的表名顺序,ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表,如果有3个以上的表连接查询,那就需要选择交叉表作为基础表, 交叉表是指那个被其他表所引用的表;
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
SQL_TEXT
FROM V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
ORDER BY 4 DESC;
9.用索引提高效率;
10.用EXISTS替换DISTINCT;
11.sql语句用大写的;因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行;
12.用IN来替换OR;
标签:
原文地址:http://www.cnblogs.com/therunningfish/p/5614931.html