2011-01-09 30 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语句的一部分请求的唯一列。