InnoDB辅助索引页面的物理结构是什么样子的
According to this https://dev.mysql.com/doc/internals/en/innodb-fil-header.html and did some searching on google. I can see that a record is stored in the user records area on the page with it's FIL_PAGE_TYPE = FIL_PAGE_INDEX(17855 also 0x45BF).
根据这个https://devmy.sql.com/doc/internals/en/innodb -fil-header.html,并在谷歌上做了一些搜索。我可以看到,一个记录存储在页面上的用户记录区域中,它的FIL_PAGE_TYPE = FIL_PAGE_INDEX(17855也是0x45BF)。
But I am now confused about the secondary index. Did it stored on the same page type with the FIL_PAGE_TYPE = FIL_PAGE_INDEX
?
但我现在对二级指标感到困惑。它是否与FIL_PAGE_TYPE = FIL_PAGE_INDEX存储在相同的页面类型中?
I created a table with some index, added some data. Found that my ibd file contains a FIL_PAGE_INODE
page. So I am guessing that the secondary index was stored on the page with FIL_PAGE_TYPE = FIL_PAGE_INODE
.
我用一些索引创建了一个表,添加了一些数据。发现我的ibd文件包含一个FIL_PAGE_INODE页面。所以我猜测二级索引是用FIL_PAGE_TYPE = FIL_PAGE_INODE存储的。
If so, How can I found the index content on that page?
如果是,我如何在页面上找到索引内容?
1 个解决方案
#1
2
Secondary indexes do indeed use FIL_PAGE_INDEX
just as the primary/clustered key does. There is no structural difference between the primary key and any secondary indexes. The FIL_PAGE_INODE
page type is part of the space management system, and is described in my blog post on Page management in InnoDB space files.
辅助索引确实像主/聚集键一样使用FIL_PAGE_INDEX。主键和辅助索引之间没有结构上的差异。FIL_PAGE_INODE页面类型是空间管理系统的一部分,并且在我关于InnoDB空间文件中的页面管理的博文中进行了描述。
更多相关文章
- MySQL索引的基础初识
- 为获得快速结果,我的查询有什么好的索引?
- Mysql存储过程、索引
- mysql联合索引分析测试
- MySQL索引帮助-哪个更快?
- 高性能Mysql——创建高性能的索引
- MySql索引的优缺点
- 外键是否可以引用非唯一索引?
- mysql索引性能测试