索引列無效狀況

在MSSql中,如下幾種狀況下會使索引列無效:函數

1.在索引列上用了函數,如 Where ABS(Dep_Name)='Name' ,此時列Dep_Name的索引無效索引

2.在索引表上用了Like '%XXX',但若是把%放在索引列的最後面就能夠,即 Dep_Name like 'the name %',此時的索引是有效的table

3.在Where子句中對列進行了類型轉換,即用Cast或Convert會使列的索引無效。ast

4.用到In關鍵字,但並非全部用到In的關鍵字就會使索引無效,以下:select

    Select * from Table Where Depart_ID in ('aaaa','bbbb'),此時這個 Depart_ID上的索引是有效的。tab

 

    若是In後面使用嵌套的SELECT語句,將沒法使用在該列上定義的索引,如類型轉換

   select * from Table where Depart_ID in (select depart_ID from table2)ab

     此時Depart_ID對應的索引將無效。

相關文章
相關標籤/搜索