一、主鍵必須是惟一性的,不必定就是彙集索引,咱們在建立主鍵時默認是設主鍵爲彙集索引。可經過手動刪除後從新建彙集索引。sql
二、sql語句是where先執行,而後再執行order by,因此咱們在建非彙集索引時要注意順序而且where與order by裏面的列都要在索引鍵列裏面。select部份能夠放在包含性列裏面,但請注意索引大小的空間問題。排序
三、order by裏面的升序和降序問題必定要和索引鍵列裏面的同樣。索引
例:select id,title from table1 where classid=123 order by created DESCit
狀況一table
操做:建非彙集索引IX_A->索引鍵列爲classid(升序降序無所謂)、created(必定要降序) class
注意索引鍵列中兩個字段的前後順序,兩個鍵列缺一不可。select
執行:1.IX_A索引查找出ID,2.根據ID經過 鍵查找 找出title->返回結果sql語句
狀況二方法
操做:建非彙集索引IX_B->索引鍵列爲classid(升序降序無所謂)、created(必定要降序) ->添加包含性列id,titletab
注意索引鍵列中兩個字段的前後順序,兩個鍵列缺一不可。
執行:1.IX_B索引查找->返回結果
以上兩個方法若是created的排序弄錯了,還將多一步,即:
狀況一:1.IX_A索引查找出ID,2.根據ID經過 鍵查找 找出title,3.排序->返回結果
狀況二:1.IX_B索引查找,2.排序->返回結果