您的位置:首页 > 数据库 > Oracle

SQL的优化方法(oracle)

2009-11-08 11:34 225 查看
1. (对于表来说) 对于一个用于增删查改的表,建立的索引最好不要超过 5 个。对于单纯用来查询的表,建立的索引数可以适当多一点。
2. (对于记录来说) 对于一个表,查询的记录数是总记录的 3% ,或小于此数,使用索引比较好。若大于 5% ,则要考虑是否要采用索引。
3. (对于字段来说)可建立索引的情况:
对于常出现于 where 子句的字段。
对于表与表之间用来连接的字段。
4. in / not in (results) :当结果集比较大时, in / not in 的使用效率会比较低。可以采用 exist / not exist 。当当结果集比较小时,则无影响。
5. 效率对比:
Select * from tableA a ,(select * from tableC) b where a.id=b;(A)
Select * from tableA a , where a.id in (select * from tableC); ( B )
A 的效率会比较高。把查询子集生成一个动态表集。
6. select * from tableA,TABLEB,tableC :提高效率的做法:是把大结果集的表放于前面,小表放最后。
7. 在 oracle 中,可以用 Explan plan 来查看 SQL 的执行效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: