2011-01-09 28 views
1

我相信我理解INNODB如何構造表(通過使用聚簇btree索引= PK和包含行本身的葉子)。使用相同原理的二級索引(btree clustered index =二級索引)和葉包含用作指針的PK(這就是爲什麼可能需要第二個索引查找的原因)。innodb數據結構

http://www.chenyajun.com/wp-content/uploads/2008/12/3-9.jpg 因此,排序是基於INNODB中的索引。

但我真的無法理解如何使用聚類btree指數原則來對INNODB中的覆蓋/複合索引進行物理排序和存儲。

+0

這兩個答案都是正確的,所以我標記了最老的一個。 – Nikos 2011-05-03 09:08:53

回答

0

它可以通過你鏈接到圖表來說明:

  • A(典型值)的二級密鑰索引訪問首先啓動遍歷非聚集索引,找到主鍵的值,然後遍歷主鍵來定位數據。換句話說:用兩個獨立的樹查找來查找數據。

  • 覆蓋索引是所有需要的數據存儲在輔助鍵索引中的地方。通常情況下,您只是在索引的後面捎帶一列 - 這是您作爲SELECT語句的一部分請求的唯一列。