索引鍵列和包含性列


1、主鍵必須是唯一性的,不一定就是聚集索引,我們在創建主鍵時默認是設主鍵為聚集索引。可通過手動刪除后重新建聚集索引。

2、sql語句是where先執行,然后再執行order by,所以我們在建非聚集索引時要注意順序並且where與order by里面的列都要在索引鍵列里面。select部份可以放在包含性列里面,但請注意索引大小的空間問題。

3、order by里面的升序和降序問題一定要和索引鍵列里面的一樣。

 

例:select id,title from table1 where classid=123 order by created DESC

情況一

操作:建非聚集索引IX_A->索引鍵列為classid(升序降序無所謂)、created(一定要降序) 

注意索引鍵列中兩個字段的先后順序,兩個鍵列缺一不可。

執行:1.IX_A索引查找出ID,2.根據ID通過 鍵查找 找出title->返回結果

 

情況二

操作:建非聚集索引IX_B->索引鍵列為classid(升序降序無所謂)、created(一定要降序) ->添加包含性列id,title

注意索引鍵列中兩個字段的先后順序,兩個鍵列缺一不可。

執行:1.IX_B索引查找->返回結果

 

以上兩個方法如果created的排序弄錯了,還將多一步,即:

情況一:1.IX_A索引查找出ID,2.根據ID通過 鍵查找 找出title,3.排序->返回結果

情況二:1.IX_B索引查找,2.排序->返回結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM