mysql - 从 MySQL 数据库中导出索引表
问题描述
我最近正在研究更好的索引概念。作为其中的一部分,我想知道是否可以导出 mysql 内部生成的索引表。我希望能够以 CSV 的形式导出索引表。
我知道如何在数据库中创建索引:
Example : CREATE INDEX index_name ON table_name (column_list)
建立索引后,我可以通过以下方式看到它:
SHOW INDEX FROM table_name;
在 phpmyadmin 中,我可以在结构部分看到索引表。
我正在使用 InnoDB 引擎和对于 InnoDB 引擎,索引与表一起存储在表空间中。如果设置了 innodb_file_per_table 选项,索引将在表的 .ibd 文件中。
那么是否可以从 .ibd 文件中以 csv 的形式导出索引表数据?
我想以 CSV 格式导出 mysql 内部生成的索引表。
解决方案
如果你有
PRIMARY KEY (id),
INDEX(a,b)
然后
SELECT a, b, id INTO outfile ... FROM ... ORDER BY a,b,id
会给你索引的内容。但是,它不会向您显示作为INDEX
.
InnoDB表PRIMARY KEY
是一个 B+Tree,所有列都按 PK 顺序排列。
“辅助键”(是否唯一)是一个 B+Tree,其中包含辅助索引的所有列,以及 PK 中的任何其他列。它也被排序。
前缀索引(例如,INDEX(foo(7))
)是另一回事。
FULLTEXT
并且SPATIAL
有自己的内部结构,而不是简单的B+Tree。
推荐阅读
- mongodb - 在 mongodb 中计数不同而不给出不同的结果
- sql - SQL Server WHERE 在两个不同的数组中
- odata - $select Id 在 EmployeeId uri 查询中未指定属性名
- html - 带有描述列表的 Twitter Boostrap 网格系统(
- )
- linux - 使用 journalctl (journald) 对集中式日志进行排序
- python - Adobe LiveStream API 无效授权标头错误
- java - Spring 隐式 HTTP OPTIONS 方法返回错误的“允许”响应标头
- r - 将数据帧转换为先验函数的事务对象,而无需导出和重新加载数据帧
- html - 从 servlet 重定向到 html 时出现 404 错误
- javascript - Chart JS - 获取折线图在平面上经过的点