论坛首页 综合技术论坛

写SQL要注意的问题

浏览 1652 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-03-05  
引用
优化SQL三点:减少工作量、平衡工作量、并行工作量
尽量不要使用LIKE ‘%..%’,他会走全表扫描,请使用LIKE ‘…%’,在一个范围内扫描是可以使用索引的。
用NOT EXISTS代替NOT IN,因为NOT IN不使用表索引。
<>符号也不会使用索引,建议用> or <,而>和<也不被建议使用,要用最好使用>=和<=。
IS NULL或IS NOT NULL,空值在B-Tree中是不索引的,所以查询空值时是不走索引扫描的
UNION在合并是去掉重复值,会用到排序段,如果结果很大的话,会导致sort area不够用而使用临时段,造成磁盘读写。建议尽量使用UNION ALL,或等到查询结果集到最小的时候再进行UNION操作。
分布式查询用一次返回remote database的数据以减少网络消耗。
COMMIT一次提交多笔DML提高效率
通过ORACLE内部函数(例如:sysdate)取值,请只取一次值。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics