2016-07-07 11 views
3

根据https://dev.mysql.com/doc/internals/en/innodb-fil-header.html并在google上做了一些搜索。我可以看到,一个记录存储在页面上的用户记录区域,它的FIL_PAGE_TYPE = FIL_PAGE_INDEX(17855 also 0x45BF).InnoDB二级索引页面的物理结构如何看起来像

但我现在对二级索引感到困惑。 它与FIL_PAGE_TYPE = FIL_PAGE_INDEX存储在相同的页面类型上吗?

我用一些索引创建了一个表,添加了一些数据。发现我的ibd文件包含FIL_PAGE_INODE页面。所以我猜测二级索引存储在FIL_PAGE_TYPE = FIL_PAGE_INODE的页面上。

如果是这样,我怎样才能找到该网页上的索引内容?

回答

2

二级索引的确使用FIL_PAGE_INDEX就像主键/集群键一样。主键和任何二级索引之间没有结构性差异。 FIL_PAGE_INODE页面类型是空间管理系统的一部分,在我的博客文章Page management in InnoDB space files中进行了描述。

+0

谢谢,还有一个问题:是否有可能将主键和辅助索引都存储在同一页上? –

+1

不,每个页头中都有一个index_id - 它所属的索引 – akuzminsky

相关问题