欢迎投稿

今日深度:

SQL优化,

SQL优化,


那些情况可能会导致全表扫描:

1、没有合适的索引

2、条件列上使用了运算符

3、使用函数(显示转换)

4、条件列上发生了隐式转换

5、条件所对应的列不在组合索引的第一位

6、条件列上使用了is Null或is not Null

7、使用了左模糊查询或双边模糊查询

8、使用不等关联

9、条件列对应的索引选择度不高

10、表很小

11、使用并行

12、使用HINT提示全表扫描

13、or使用不当

14、取得数据量占比比较大

15、索引碎片太严重

如何建立索引

1、单列索引(选择性)

2、组合索引(将最常用的列作为前导列,唯一性多,范围查询的字段尽量放在前面,组合索引字段不宜过多,不要使索引冗余,尽可能少的建立索引,更多的被使用,组合索引下where后面的条件先后不影响。

3、外键一定要建立索引

4、如果对某列有函数操作可以考虑建立函数索引

5、nvarchar2和varchar2隐式转换,走全表扫描,但问题比较难发现。

 

www.htsjk.Com true http://www.htsjk.com/oracle/26992.html NewsArticle SQL优化, 那些情况可能会导致全表扫描: 1、没有合适的索引 2、条件列上使用了运算符 3、使用函数(显示转换) 4、条件列上发生了隐式转换 5、条件所对应的列不在组合索引的第一位...
相关文章
    暂无相关文章
评论暂时关闭