在 MySQL 中, 索引是在存儲引擎層實現的, 所以並沒有統⼀的索引標準, 由於 InnoDB 存儲引擎在 MySQL數據庫中使⽤最爲⼴泛, 下⾯以 InnoDB 爲例來分析⼀下其中的索引模型.在 InnoDB 中, 表都是根據主鍵順序以索引的形式存放的, InnoDB 使⽤了 B+ 樹索引模型,所以數據都是存儲在 B+ 樹中的, 如圖所示:
從圖中可以看出, 根據葉子節點內容不同,索引類型分爲主鍵索引和非主鍵索引.
主鍵索引也被稱爲聚簇索引,葉子節點存放的是整行數據; 而非主鍵索引被稱爲二級索引,葉子節點存放的是主鍵的值.
如果根據主鍵查詢, 只需要搜索ID這顆B+樹
而如果通過非主鍵索引查詢, 需要先搜索k索引樹, 找到對應的主鍵, 然後再到ID索引樹搜索一次, 這個過程叫做回表.
總結, 非主鍵索引的查詢需要多掃描一顆索引樹, 效率相對更低.
主鍵索引和普通索引有什麼區別?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
十年編程經驗一朝面試被刷,技術面試如何提升表現?
原創
2024-05-08 23:17:58
騰訊技術面霸挑戰賽開啓!破解奇葩題贏10000元現金好禮
原創
2024-05-07 23:11:16
學算法要讀《算法導論》嗎?
原創
2024-03-28 00:34:50
一場數據架構變革正在來臨
蔡芳芳
2021-12-21 10:54:01
解讀數字化轉型下的數據安全:AI正在開闢新的可能性
凌敏
2021-12-19 14:03:54
雲原生數據庫企業Cockroach Labs再獲 2.73 億美元融資,估值高達50億美元
Tina
2021-12-16 15:18:50
數千個數據庫、遍佈全國的物理機,京東物流全量上雲實錄 | 卓越技術團隊訪談錄
褚杏娟
2021-12-16 10:38:55
前車之鑑:聊聊我在基礎設施中掉過的坑
Mathew Duggan
2021-12-14 13:33:55
洞察數據庫變革趨勢,亞馬遜雲科技正在憑藉這項技術改變着遊戲規則
李冬梅
2021-12-10 16:53:54
MongoDB發佈第三季度財報,雲數據庫收入增長加速
Tina
2021-12-09 15:33:57
MySQL探祕(四):InnoDB的磁盤文件及落盤機制
程序员历小冰
2021-12-08 12:33:52
Oracle 大佬離職,怒噴 MySQL “糟糕的數據庫”
辛晓亮
2021-12-07 19:58:57
Jellyfish:爲Uber最大的存儲系統提供更節省成本的數據分層
Mohammed Khatib
2021-12-06 10:33:48
企業需要什麼樣的數據庫,One Size Fits All?
张俊宝
2021-12-03 18:19:01