[MySQL] 为什么要给表加上主键
生活随笔
收集整理的這篇文章主要介紹了
[MySQL] 为什么要给表加上主键
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.一個沒加主鍵的表,它的數據無序的放置在磁盤存儲器上,一行一行的排列的很整齊.
2.一個加了主鍵的表,并不能被稱之為「表」。如果給表上了主鍵,那么表在磁盤上的存儲結構就由整齊排列的結構轉變成了樹狀結構,并且是「平衡樹」結構,換句話說,就是整個表就變成了一個索引。沒錯,再說一遍,整個表變成了一個索引,也就是所謂的「聚集索引」。 這就是為什么一個表只能有一個主鍵,一個表只能有一個「聚集索引」,因為主鍵的作用就是把「表」的數據格式轉換成「索引(平衡樹)」的格式放置。
?
3.給表中多個字段加上常規的索引,那么就會出現多個獨立的索引結構.字段中的數據就會被復制一份出來,用于生成索引,葉子節點是主鍵ID,這也就是非聚集索引.,下面就是一個主鍵和三個常規索引的結構
?
?
4.通過主鍵去查,葉子節點就是數據行
?
5.通過其他索引字段去查,那么葉子節點是主鍵ID,然后再去根據主鍵查,聚集索引(主鍵)是通往真實數據所在的唯一路徑
?
7.有一種例外可以不使用聚集索引就能查詢出所需要的數據,這種非主流的方法稱之為「覆蓋索引」查詢,也就是平時所說的復合索引或者多字段索引查詢
?
轉載于:https://www.cnblogs.com/taoshihan/p/11265427.html
總結
以上是生活随笔為你收集整理的[MySQL] 为什么要给表加上主键的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数名称及作用
- 下一篇: vue使用Google Map