首頁  >  文章  >  資料庫  >  mysql主鍵還需要建立索引嗎?

mysql主鍵還需要建立索引嗎?

青灯夜游
青灯夜游原創
2020-10-09 14:36:499985瀏覽

mysql主鍵不需要建立索引,主鍵具備索引的功能;當建立或設定主鍵的時候,mysql會自動新增一個與主鍵對應的唯一索引,不需要再做額外的新增。資料庫管理系統對於主鍵會自動產生唯一索引,所以主鍵是一個特殊的索引。

mysql主鍵還需要建立索引嗎?

當你建立或設定主鍵的時候,mysql會自動加入一個與主鍵對應的唯一索引,不需要再做額外的新增。

如果查詢的條件中沒有用到主鍵,可以將你的查詢欄位設定為索引。如果你想在主鍵上設定索引的話,主鍵就有索引的功能。

如下圖在mysql中建立的一張表,可以看到CREATE TABLE語句中只設定了主鍵PRIMARY KEY,並沒有建立索引的語句,但索引資訊處顯示了唯一主鍵索引,這是由mysql自己建立的。

mysql主鍵還需要建立索引嗎?

資料庫主鍵和索引的區別與聯繫

1、主鍵是一定是唯一性索引,但唯一性索引不一定是主鍵。

主鍵就是能夠唯一標識表中某一行的屬性或是屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識一行記錄,所以可以確保執行資料更新、刪除的時候不會出現錯誤的。主鍵也經常和外鍵構成參照完整性約束,防止資料不一致出現。資料庫管理系統對於主鍵自動產生唯一索引,所以主鍵也是一個特殊的索引。

2、唯一索引標識索引值唯一,一個表可以有多個唯一索引,但主鍵只能有一個。

3、主鍵列不能為空,但唯一索引列可以為空。

4、一張表格只能有一個主鍵,但可以有多個索引。

通俗舉例來說:主鍵相當於一本書的頁碼,索引相當於書的目錄。

以上是mysql主鍵還需要建立索引嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn