避免全表扫描
在应用的程序设计中,除了一些必要的情况下,如月报数据的统计。打印所有清单等可以允许使用全表扫描外,一般都尽量避免涉及全表扫描。全表扫描就是指不加任何条件的查询语句。下面情况可以Oracle就使用全表扫描:
1.所查询的表没有索引;
2.需要返回所有的行;
3.对索引主列有条件限制,但是使用了函数,则Oracle 使用全表扫描,如:
where upper(city)=’TOKYO’;
这样的语句不会使用索引方法。所以就只能全表扫描。
4.带有 is null 和is not null 及 != 等子句。如:
. . . where city is null ;
. . . where city is not null;
. . . where city != ‘TOKYO’;
5.带like 并使用’%’这样的语句就使用全表扫描;