SQL 语句编写指导文档
目录
1. 选择最有效率的表名顺序(只在基于规则的优化器中有效):.............................................1
2. WHERE 子句中的连接顺序:................................................................................................1
3. SELECT 子句中避免使用‘*’:...............................................................................................1
4. 减少访问数据库的次数:.......................................................................................................1
5. 在 SQL*PLUS , SQL*FORMS 和 PRO*C 中重新设置 ARRAYSIZE 参数, 可以增加每次数据
库访问的检索数据量 ,建议值为 200。......................................................................................1
6. 使用 DECODE 函数来减少处理时间:.................................................................................1
7. 整合简单,无关联的数据库访问:..........................................................................................1
8. 删除重复记录:.......................................................................................................................1
9. 用 TRUNCATE 替代 DELETE:............................................................................................1
10. 尽量多使用 COMMIT:........................................................................................................2
11. 用 WHERE 子句替换 HAVING 子句:..................................................................................2
12. 减少对表的查询:.................................................................................................................2
13. 通过内部函数提高 SQL 效率:............................................................................................2
14. 使用表的别名(ALIAS):........................................................................................................3
15. 用 EXISTS 替代 IN、用 NOT EXISTS 替代 NOT IN:.......................................................3
16. 识别‘低效执行’的 SQL 语句:..............................................................................................3
17. 用索引提高效率:.................................................................................................................3
18. 用 EXISTS 替换 DISTINCT:...............................................................................................4
19. SQL 语句用大写的;因为 ORACLE 总是先解析 SQL 语句,把小写的字母转换成大写
的再执行。...................................................................................................................................4
20. 在 JAVA 代码中尽量少用连接符“+”连接字符串。.............................................................4
21. 避免在索引列上使用 NOT 通常,我们要避免在索引列上使用 NOT, NOT 会产生在和
在索引列上使用函数相同的影响。当 ORACLE“遇到”NOT,他就会停止使用索引转而执行
全表扫描。...................................................................................................................................4
22. 避免在索引列上使用计算。WHERE 子句中,如果索引列是函数的一部分。优化器将
不使用索引而使用全表扫描。...................................................................................................4
23. 用>=替代>:..........................................................................................................................4
24. 用 UNION 替换 OR (适用于索引列):.................................................................................4
25. 用 IN 来替换 OR:.................................................................................................................5
26. 避免在索引列上使用 IS NULL 和 IS NOT NULL:...........................................................5
27. 总是使用索引的第一个列:.................................................................................................5
28. 用 UNION-ALL 替换 UNION ( 如果有可能的话):...........................................................5
29. 用 WHERE 替代 ORDER BY:............................................................................................6
30. 避免改变索引列的类型:........................................................................................................6
31. 需要当心的 WHERE 子句:....................................................................................................7
32. 检索时应注意以下情况.........................................................................................................7
33. 避免使用耗费资源的操作:....................................................................................................7
34. 优化 GROUP BY:...................................................................................................................7