MySQL 主鍵與索引的接洽與差別剖析。本站提示廣大學習愛好者:(MySQL 主鍵與索引的接洽與差別剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 主鍵與索引的接洽與差別剖析正文
關系數據庫依附於主鍵,它是數據庫物理形式的基石。主鍵在物理層面上只要兩個用處:
唯一地標識一行。
作為一個可以被外鍵有用援用的對象。
索引是一種特別的文件(InnoDB數據表上的索引是表空間的一個構成部門),它們包括著對數據內外一切記載的援用指針。上面是主鍵和索引的一些差別與接洽。
1. 主鍵必定是獨一性索引,獨一性索引其實不必定就是主鍵。
所謂主鍵就是可以或許獨一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。由於主鍵可以獨一標識某一行記載,所以可以確保履行數據更新、刪除的時刻不會湧現張冠李戴的毛病。主鍵除上述感化外,經常與外鍵組成參照完全性束縛,避免湧現數據紛歧致。數據庫在設計時,主鍵起到了很主要的感化。
主鍵可以包管記載的獨一和主鍵域非空,數據庫治理體系關於主鍵主動生成獨一索引,所以主鍵也是一個特別的索引。
2. 一個表中可以有多個獨一性索引,但只能有一個主鍵。
3. 主鍵列不許可空值,而獨一性索引列許可空值。
4. 索引可以進步查詢的速度。
其實主鍵和索引都是鍵,不外主鍵是邏輯鍵,索引是物理鍵,意思就是主鍵不現實存在,而索引現實存在在數據庫中,主鍵普通都要建,重要是用來防止一張表中有雷同的記載,索引普通可以不建,但假如須要對該表停止查詢操作,則最好建,如許可以加速檢索的速度。
FAQ
1. 主鍵是個甚麼?
我來來詳細的器械說吧,書年夜家都看過吧,沒看過的找本翻一下,看下它每頁是否是有個頁碼,我們的數據表主鍵就相當因而這個頁碼,明確了吧。
2. 那末索引是甚麼呢?
我們還拿書來講,索引相當於書的目次,有了目次我們可以很快的曉得這本書的根本內容和構造,數據索引也一樣,它可以加速數據表的查詢速度。
3. 主鍵主索引類比,及其他們的感化?
主鍵是為了標識數據庫記載獨一性,不許可記載反復,且鍵值不克不及為空,主鍵也是一個特別索引。
數據表中只許可有一個主鍵,然則可以有多個索引。
應用主鍵會數據庫會主動創立主索引,也能夠在非主鍵上創立索引,便利查詢效力。
索引可以進步查詢速度,它就相當於字典的目次,可以經由過程它很快查詢到想要的成果,而不須要停止全表掃描。
主鍵索引外索引的值可認為空。
主鍵也能夠由多個字段構成,構成復合主鍵,同時主鍵確定也是獨一索引。
獨一索引則表現該索引值獨一,可以由一個或幾個字段構成,一個表可以有多個獨一索引。