oracle性能优化操作四:尽量去掉"IN"、"OR"

2015-01-22 22:06:39 · 作者: · 浏览: 11

含有"IN"、"OR"的Where子句常会使用工作表,使索引失效;

如果不产生大量重复值,可以考虑把子句拆开;拆开的子句中应该包含索引。

例:

select count(*) from stuff where id_no in('0','1');--(23秒)

可以考虑将or子句分开:

select count(*) from stuff where id_no='0'; 

select count(*) from stuff where id_no='1';

然后再做一个简单的加法,与原来的SQL语句相比,查询速度更快。