1. 程式人生 > >(3.3)常用知識-索引與排序(未完)

(3.3)常用知識-索引與排序(未完)

聚集索引 主鍵自增 主鍵 建立索引 函數 3.3 存儲 bsp 排序。

1.索引與排序的關系

  經過多番嘗試,我發現,直接select * from table 默認是會按聚集索引來排序的。

  那如果order by column ,column中有非聚集索引,排序用使用該索引嗎?答案是不會,只有是聚集索引的時候才會根據其索引來排序。

2.索引的創建於維護

 (1)創建聚集索引的選擇(一般為主鍵自增ID)

  • 數據變化的順序應該盡可能考慮和聚集索引一致,如果不一致,則每次在數據變化時,都需要調整表中的記錄存儲順序,這會大大降低存儲效率。
  • 列寬短:由於非聚集索引都會指向聚集索引,列寬越長則非聚集索引需要的空間越大,導致占頁越多,引起更多頁掃描。
  • 盡量選唯一和列值不可為空的列。有益於精準定位

  【1】多考慮列的順序:如果有索引包含多個列的話,用於匹配和參與連接的列應該放在最前面,其他的列應該基於其非重復級別進行排序,也就是說,從最不重復的列到最重復的列:

  【2】考慮列的寬度:對於復合索引,應該考慮把寬度小的列放在索引的前面,這樣有利於數據檢索

  【3】考慮在計算列上建立索引(表達式/函數索引):當確定需要計算或者轉換時,可以在索引上就構建出 來,而不是在檢索數據的時候做這件事

(3.3)常用知識-索引與排序(未完)