唯一索引 聚集索引和聚集索引

2022-07-29 23:18:16 字數 1112 閱讀 9186

1.乙個表只能有乙個主索引-primary,且只有是資料庫表才有主索引,字尾為.cdx,索引關鍵字是不可以重複的.哪怕是空記錄也只可以有一條.

2.候選索引可以有很多個,索引關鍵字同樣不可以重複,同樣只存在於資料庫表.

3.唯一索引,可以存在於自由表,但索引關鍵字不可以重複.

4.普通索引簡單的理解就是只起排序作用.索引關鍵字是可以重複的.可存在於自由表.

主鍵與唯一索引的區別
主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。 主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。 唯一性索引列允許空值,而主鍵列不允許為空值。 主鍵列在建立時,已經預設為空值 + 唯一索引了。 主鍵可以被其他表引用為外來鍵,而唯一索引不能。 乙個表最多只能建立乙個主鍵,但可以建立多個唯一索引。 主鍵更適合那些不容易更改的唯一標識,如自動遞增列、身份證號等。 在 rbo 模式下,主鍵的執行計畫優先順序要高於唯一索引。 兩者可以提高查詢的速度。

create unique index test_uniquekey on test (uniquekey);  

聚集索引: 

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

在聚集索引中,表中各行的物理順序與索引鍵值的邏輯(索引)順序相同。聚集索引通常可加快update和delete操作的速度,因為這兩個操作需要讀取 大量的資料。建立或修改聚集索引可能要花很長時間,因為執行這兩個操作時要在磁碟上對錶的行進行重組。  www.2cto.com  

非聚集索引:

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

無論是聚集索引,還是非聚集索引,都可以是唯一索引。在sql server中,當唯一性是.資料本身的特點時,可建立唯一索引,但索引列的組合不同於表的主鍵。例如,如果要頻繁查詢表employees(該錶主鍵為 列emp_id)的列emp_name,而且要保證姓名是唯一的,則在列emp_name上建立唯一索引。如果使用者為多個員工輸入了相同的姓名,則資料庫 顯示錯誤,並且不能儲存該錶。

聚集索引和非聚集索引

聚集索引和非聚集索引 一 聚集索引和非聚集索引 聚集索引和非聚集索引的根本區別是表記錄的排列順序和與索引的排列順序是否一致,聚集索引表記錄的排列順序與索引的排列順序一致,優點是查詢速度快,因為一旦具有第乙個索引值的紀錄被找到,具有連續索引值的記錄也一定物理的緊跟其後。聚集索引的缺點是對錶進行修改速度...

聚集索引和非聚集索引

本文引自 一種索引,該索引中鍵值的邏輯順序決定了表中相應行的物理順序。聚集索引確定表中資料的物理順序。聚集索引類似於 簿,後者按姓氏排列資料。由於聚集索引規定資料在表中的物理儲存順序,因此乙個表只能包含乙個聚集索引。但該索引可以包含多個列 組合索引 就像 簿按姓氏和名字進行組織一樣。聚集索引對於那些...

聚集索引和非聚集索引

聚集索引和非聚集索引 1 聚集索引 聚集索引,表中的資料儲存位置,根據索引的排序進行實際儲存,因此效率是相當高的。因為聚集索引決定了表中資料行的儲存位置。乙個表不可能有兩個或以上的聚集索引,如果乙個表中已經有乙個聚集索引,那麼這個表中其他的索引都將是非聚集索引。表排列順序 表記錄的排列順序與索引的排...