1

我相信我了解 INNODB 如何构建表(通过使用聚集 btree 索引=PK 和包含行本身的叶子)。二级索引使用相同的原则(btree clustered index=secondary index),叶子包含用作指针的PK(这就是可能需要二级索引查找的原因)。

http://www.chenyajun.com/wp-content/uploads/2008/12/3-9.jpg 所以排序是基于INNODB中的索引。

但是我真的无法理解如何使用聚类 btree 索引原理对 INNODB 中的覆盖/复合索引进行物理排序和存储。

4

2 回答 2

0

这篇文章可能会引起人们的兴趣:)

http://www.xaprb.com/blog/2006/07/04/how-to-exploit-mysql-index-optimizations/

于 2011-02-09T17:52:30.033 回答
0

它可以通过您链接到的图表来解释:

  • (典型的)二级键索引访问首先开始遍历一个非聚集索引,找到主键的值,然后遍历主键来定位数据。或者换一种说法:两个独立的树查找来查找数据。

  • 覆盖索引是将所需的所有数据存储在辅助键索引中的位置。通常,您只是将一列搭载到索引的后面 - 这是您作为 SELECT 语句的一部分请求的唯一列。

于 2011-02-27T16:22:48.620 回答