我最近正在研究更好的索引概念。作为其中的一部分,我想知道是否可以导出mysql内部生成的索引表。我希望能够以CSV的形式导出索引表。
我知道如何使用以下命令在数据库中创建索引:
Example : CREATE INDEX index_name ON table_name (column_list)创建索引后,我可以使用以下命令查看它:
SHOW INDEX FROM table_name;在phpmyadmin中,我可以在structure部分看到索引表。
我使用的是InnoDB引擎,对于InnoDB引擎,索引与表一起存储在表空间中。如果设置了innodb_file_per_table选项,则索引将位于表的.ibd文件中。
那么,是否可以从.ibd文件中以csv格式导出索引表数据呢?
我想以CSV格式导出mysql内部生成的索引表。
发布于 2019-05-29 01:06:08
如果你有
PRIMARY KEY (id),
INDEX(a,b)然后
SELECT a, b, id INTO outfile ... FROM ... ORDER BY a,b,id将为您提供索引的内容。但是,它不会向您显示作为INDEX开销的B+Tree的任何细节。
InnoDB表的PRIMARY KEY是所有列都按PK顺序排列的B+Tree。
“辅键”(无论是否唯一)是一个B+Tree,它包含辅助索引的所有列,以及PK中的任何其他列。它也是排序的。
前缀索引(例如,INDEX(foo(7)))是另一回事。
FULLTEXT和SPATIAL有自己的内部结构,而不是简单的B+Tree。
https://stackoverflow.com/questions/56321121
复制相似问题