如果正確合理設計並且使用索引的 MySQL 是一輛蘭博基尼的話,那麼沒有設計和使用索引的 MySQL 就是一個人力三輪車。沒有索引的表,單表查詢可能幾十萬數據就是瓶頸,那到底該如何應對互聯網企業的上億的數據?
MySQL 中的 InnoDB 存儲引擎的核心在於索引,索引的核心在於 B+tree,所以說要想了解 MySQL 中索引,我們必須要先了解 B+tree ,而 B+tree 的說白了就是一顆平衡多叉樹。
通過本場 Chat 你能夠獲得一下內容:
- 二叉樹的轉置。
- B+tree 詳解,知道 B+tree 到底是創建,轉置的,每一層到底有多少個節點?
- 聚簇索引和非聚簇索引的區別;以及在索引上到底存儲的是什麼,爲什麼聚簇索引索引只需要一次查找,而非聚簇索引需要兩次?
- B+tree 如何進行優化?索引遵循哪些原則?存儲引擎會進行哪些自動優化?到底何時索引會失效?
- 索引與鎖有什麼關係?
- 還有什麼其他的索引類型,各自索引有哪些優缺點?
https://gitbook.cn/gitchat/activity/5b5006853ecccd115a5ae1cc