InnoDB是聚集索引方式,因此資料和索引都存盤在同一個檔案里,
首先InnoDB會根據主鍵ID作為KEY建立索引B+樹,如左下圖所示,而B+樹的葉子節點存盤的是主鍵ID對應的資料
比如在執行select * from user_info where id=15這個陳述句時
InnoDB就會查詢這顆主鍵ID索引B+樹,找到對應的user_name='Bob',
這是建表的時候InnoDB就會自動建立好主鍵ID索引樹,這也是為什么MySQL在建表時要求必須指定主鍵的原因,
當我們為表里某個欄位加索引時InnoDB會怎么建立索引樹呢?
比如我們要給user_name這個欄位加索引,那么InnoDB就會建立user_name索引B+樹,節點里存的是user_name這個KEY,葉子節點存盤的資料的是主鍵KEY,注意,葉子存盤的是主鍵KEY!
拿到主鍵KEY后,InnoDB才會去主鍵索引樹里根據剛在user_name索引樹找到的主鍵KEY查找到對應的資料,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/232419.html
標籤:其他
