首页 / MYSQL / mysql中查看索引是否被使用到
mysql中查看索引是否被使用到
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql中查看索引是否被使用到,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含8562字,纯文字阅读大概需要13分钟。
内容图文
![mysql中查看索引是否被使用到](/upload/InfoBanner/zyjiaocheng/482/168486016c30455190c63e3c2e4b6947.jpg)
http://blog.sina.com.cn/s/blog_5037eacb0102vm5c.html
官方MySQL中查看索引是否被使用到:
在percona版本或marida中可以通过 information_schea.index_statistics查看得到, 在官方版本中如何查看呢? select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage; 应该可以通过上面的sql得到。 如果read,fetch的次数都为0的话,应该是没有被使用过的。 通过下面的例子,可以证实: 启动mysql: mysql> show create table a.t3; +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | t3 | CREATE TABLE `t3` ( `id` int(11) DEFAULT NULL, `name` varchar(10) NOT NULL DEFAULT ‘bb‘, KEY `idx_t3` (`id`), KEY `idx_t3_name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 0 | 0 | 0 | | TABLE | a | t3 | idx_t3_name | 0 | 0 | 0 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.01 sec) mysql> explain select id from t3 where id=1; ERROR 1046 (3D000): No database selected mysql> explain select id from a.t3 where id=1; +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ | 1 | SIMPLE | t3 | ref | idx_t3 | idx_t3 | 5 | const | 1 | Using index | +----+-------------+-------+------+---------------+--------+---------+-------+------+-------------+ 1 row in set (0.00 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 0 | 0 | 0 | | TABLE | a | t3 | idx_t3_name | 0 | 0 | 0 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.01 sec) mysql> use a; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select id from t3 where id=1; Empty set (0.00 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 1 | 1 | 1 | | TABLE | a | t3 | idx_t3_name | 0 | 0 | 0 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.00 sec) mysql> select id from t3 where id=10; +------+ | id | +------+ | 10 | | 10 | +------+ 2 rows in set (0.00 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 4 | 4 | 4 | | TABLE | a | t3 | idx_t3_name | 0 | 0 | 0 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.01 sec) mysql> select name from t3 where name=‘a‘; Empty set (0.00 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 4 | 4 | 4 | | TABLE | a | t3 | idx_t3_name | 1 | 1 | 1 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.01 sec) mysql> select name from t3 where name=‘name1‘; +-------+ | name | +-------+ | name1 | +-------+ 1 row in set (0.01 sec) mysql> select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_name=‘t3‘; +-------------+---------------+-------------+-------------+------------+------------+-------------+ | object_type | object_schema | object_name | index_name | count_star | count_read | COUNT_FETCH | +-------------+---------------+-------------+-------------+------------+------------+-------------+ | TABLE | a | t3 | idx_t3 | 4 | 4 | 4 | | TABLE | a | t3 | idx_t3_name | 3 | 3 | 3 | | TABLE | a | t3 | NULL | 0 | 0 | 0 | +-------------+---------------+-------------+-------------+------------+------------+-------------+ 3 rows in set (0.01 sec) 索引被使用之后, 对应的值会增加。mysql中查看索引是否被使用到
标签:rtu selected names column creat ssi ati stat sina
本文系统来源:http://www.cnblogs.com/Jasonleo/p/6828524.html
内容总结
以上是互联网集市为您收集整理的mysql中查看索引是否被使用到全部内容,希望文章能够帮你解决mysql中查看索引是否被使用到所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。