當前位置:編程學習大全網 - 編程軟體 - sql索引分為幾類?

sql索引分為幾類?

不同數據庫中提供了不同的索引類型,SQLServer中的索引有兩種:聚集索引(CLUSTERED)和非聚集索引(NONCLUSTERED)。

索引區別:

聚集索引:

聚集索引基於數據行的鍵值,在表內排序和存儲這些數據行。每個表只能有壹個聚集索引,應為數據行本分只能按壹個順序存儲。

在聚集索引中,表中各行的物理順序與索引鍵值的邏輯(索引)順序相同。聚集索引通常可加快UPDATE和DELETE操作的速度,因為這兩個操作需要讀取大量的數據。創建或修改聚集索引可能要花很長時間,因為執行這兩個操作時要在磁盤上對表的行進行重組。

非聚集索引:

因為壹個表中只能有壹個聚集索引,如果需要在表中建立多個索引,則可以創建為非聚集索引。表中的數據並不按照非聚集索引列的順序存儲,但非聚集索引的索引行中保存了非聚集鍵值和行定位器,可以快捷地根據非聚集鍵的值來定位記錄的存儲位置。

延伸閱讀:

無論是聚集索引,還是非聚集索引,都可以是唯壹索引(UNIQUE)

。在SQL Server中,當唯壹性是數據本身的特點時,可創建唯壹索引,但索引列的組合不同於表的主鍵。例如,如果要頻繁查詢表a(該表主鍵為列a_id)的列a_name,而且要保證姓名是唯壹的,則在列a_name上創建唯壹索引。如果用戶為多個員工輸入了相同的姓名,則數據庫顯示錯誤,並且不能保存該表。

  • 上一篇:“算法” algorithm 跟“方法” method 有什麽區別?具體怎麽區分
  • 下一篇:C語言怎麽保存輸出數據
  • copyright 2024編程學習大全網