MySQL如何查询到缺失的索引?然后自动创建索引。

cnwolfs 2017-02-07 01:50:54
就是针对一个数据库中的某些应该创建的索引但是又没有创建,导致为了查询这些数据服务器的资源被严重占用。如何能从统计表中查询到这些,然后创建出应该创建的,但是又没有创建的索引。

在MS SQL中有这样的统计表,看到资料说MySQL的也有,但是没找到更详细的,请多多指教。
...全文
140 点赞 收藏 3
写回复
3 条回复
不过未用和缺少索引还是有很大差别,这种层面是没办法和 SQL Server 比的
回复 点赞
rucypli 2017年02月07日
mysql> show variables like '%log_queries_not_using_indexes%'; +-------------------------------+-------+ | Variable_name | Value | +-------------------------------+-------+ | log_queries_not_using_indexes | OFF | +-------------------------------+-------+ 1 row in set (0.00 sec) 有个这个参数 动态打开就行set global log_queries_not_using_indexes =on;然后没有走索引的查询全部写入慢查询日志 前提是你慢查询日志也是打开的 日志可以人肉看 也可以用工具pt-query-digest分析
回复 点赞
致命的西瓜 2017年02月07日
应该创建的索引但是又没有创建...没有这种表的,只能对慢查询进行解析优化,手动添加索引
回复 点赞
发动态
发帖子
MySQL
创建于2007-09-28

2.4w+

社区成员

5.5w+

社区内容

MySQL相关内容讨论专区
社区公告
暂无公告