sql 記錄

1、聚集索引和非聚集索引區別:
聚集索引和非聚集索引的根本區別是表記錄的排列順序和與索引的排列順序是否一致,聚集索引表記錄的排列順序與索引的排列順序一致,優點是查詢速度快,因爲一旦具有第一個索引值的紀錄被找到,具有連續索引值的記錄也一定物理的緊跟其後。聚集索引的缺點是對錶進行修改速度較慢,這是爲了保持表中的記錄的物理順序與索引的順序一致,而把記錄插入到數據頁的相應位置,必須在數據頁中進行數據重排,降低了執行速度。建議使用聚集索引的場合爲:
  a.此列包含有限數目的不同值;
  b.查詢的結果返回一個區間的值;
  c.查詢的結果返回某值相同的大量結果集。
  非聚集索引指定了表中記錄的邏輯順序,但記錄的物理順序和索引的順序不一致,聚集索引和非聚集索引都採用了B+樹的結構,但非聚集索引的葉子層並不與實際的數據頁相重疊,而採用葉子層包含一個指向表中的記錄在數據頁中的指針的方式。非聚集索引比聚集索引層次多,添加記錄不會引起數據順序的重組。建議使用非聚集索引的場合爲:
  a.此列包含了大量數目不同的值;
  b.查詢的結束返回的是少量的結果集;
  c.order by 子句中使用了該列。

2、創建索引語句:
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH [IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB ] ]

例:CREATE UNIQUE CLUSTERED INDEX employeeID_ind
ON emp_pay(employeeID)
WITH IGNORE_DUP_KEY
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章