MySQL-MYSQL有办法统计索引使用情况吗

发布于 2017-01-21 03:21:13 字数 67 浏览 1173 评论 1

Oracle有个索引统计的功能,可以统计每个索引的使用次数。mysql是否可以加上这个功能或者有办法统计索引使用情况吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-01-31 08:36:18

Percona版本的information_schema.innodb_index_stats 已经有索引的统计信息。
先来看下原来的表结构。

  CREATE TEMPORARY TABLE INNODB_INDEX_STATS (
  table_schema varchar(192) NOT NULL DEFAULT '',
  table_name varchar(192) NOT NULL DEFAULT '',
  index_name varchar(192) NOT NULL DEFAULT '',
  fields bigint(21) unsigned NOT NULL DEFAULT '0',
  rows_per_key varchar(256) NOT NULL DEFAULT '',
  index_total_pages bigint(21) unsigned NOT NULL DEFAULT '0',
  index_leaf_pages bigint(21) unsigned NOT NULL DEFAULT '0'
  ) ENGINE=MEMORY DEFAULT CHARSET=utf8

  记录的是每个索引的信息,其中index_total_pages是一个索引的所有page数,index_leaf_pages其中的叶子page数。
这个“表”加一列,统计索引被使用的次数。其中的信息当然需要在执行时统计。所幸的是InnoDB每次使用索引都是统一的入口(index_read), 就在index里面加个字段统计。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文