資料庫中主鍵和索引的區別以及使用場景

2021-07-22 15:08:42 字數 589 閱讀 6533

主鍵與索引的區別如下:

主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。

主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。

唯一性索引列允許空值,而主鍵列不允許為空值。

主鍵列在建立時,已經預設不為空值 + 唯一索引了。

主鍵可以被其他表引用為外來鍵,而唯一索引不能。

乙個表最多只能建立乙個主鍵,但可以建立多個唯一索引。

主鍵更適合那些不容易更改的唯一標識,如自動遞增列、身份證號等。

建立索引常用的規則如下:

1、表的主鍵、外來鍵必須有索引;

2、資料量超過300的表應該有索引;

3、經常與其他表進行連線的表,在連線欄位上應該建立索引;

4、經常出現在where子句中的字段,特別是大表的字段,應該建立索引;

5、索引應該建在選擇性高的字段上;

6、索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引;

7、復合索引的建立需要進行仔細分析;盡量考慮用單字段索引代替:

8、頻繁進行資料操作的表,不要建立太多的索引;

9、刪除無用的索引,避免對執行計畫造成負面影響;

資料庫中主鍵和索引的區別以及使用場景

主鍵與索引的區別如下 主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。唯一性索引列允許空值,而主鍵列不允許為空值。主鍵列在建立時,已經預設不為空值 唯一索引了。主鍵可以被其他表引用為外來鍵,而唯一索引不能。乙個表最多只能建立乙個...

資料庫中 「主鍵」和「索引」 簡介

主鍵是錶行資料的唯一標識,具有唯一性和非空屬性,索引主要作用是用於查詢,提供查詢速度的。主鍵是表中的乙個或多個字段,它的值用於惟一地標識表中的某一條記錄。索引是對資料庫表中一列或多列的值進行排序的一種結構,只有當經常查詢索引列中的資料時,才需要在表上建立索引。索引占用磁碟空間,並且降低新增 刪除和更...

資料庫主鍵,索引,標識的區別

標識列 identity int,1,1 這樣的 標識列可做為主鍵 主鍵可以為字元型,只要不重複就行.主鍵不可做為標識列 指定列的索引就相當於對指定的列進行排序,為什麼要排序呢?因為排序有利於對該列的查詢,可以大大增加查詢效率。那麼可能有人認為應該對所有的列排序,這樣就可以增加整個資料庫的查詢效率?...