如何快速查找 MySQL 数据库里哪些表没有建立索引 ?

2016-07-10 18:27:19 +08:00
 wangyu1314
快速查找 MySQL 数据库里哪些表没有建立索引?表很多个,不要说用命令一个个地查看,我是想快速一下就了解哪些表没建索引的。
有没有方法?谢谢各位。。
5941 次点击
所在节点    MySQL
5 条回复
caixiexin
2016-07-10 19:57:06 +08:00
导出建表语句,用文本工具处理下,查找哪个表没有 index 定义?
lenmore
2016-07-10 20:50:50 +08:00
SELECT * FROM information_schema.tables AS t
LEFT JOIN (SELECT DISTINCT table_schema, table_name FROM information_schema.`KEY_COLUMN_USAGE` ) AS kt ON kt.table_schema=t.table_schema AND kt.table_name = t.table_name
WHERE t.table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'test') AND kt.table_name IS NULL
wangyu1314
2016-07-10 22:30:06 +08:00
感谢 2 楼,不过我初学 MYSQL ,不是太懂,继续研究中,感谢。
morewe
2016-07-10 22:47:41 +08:00
phpMyAdmin 里,[数据字典] 不是可以显示出所有的表结构么。索引也显示的啊。虽然不能直接列出来哪些没见索引,但是鼠标滚动条上下滑动看看就能看出来哪个没建啊。
bikong0411
2016-07-11 08:18:52 +08:00
show index from tb

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/291537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX