2017-06-27 3 views
0

私は多くのインデックスを持ついくつかのテーブルを持っていますが、システムを設計するときにはいつでも役に立つかもしれませんが、コードベースの更なるアップデートがありますが役に立たなくなってしまいました。MySQLインデックスの最終使用時間を取得しますか?

クエリに答えるために特定のインデックスを最後に使用したときにMySQLに問い合わせる方法はありますか?

これは、使用(ともインデックスが実際のデータでの生産に使用される本当に何であるかを特定する)かもしれないものをインデックス(複数可)を確認するために私のシステムによって発行されたすべての単一のクエリを分析することから私を救います。

+0

https://stackoverflow.com/questions/34993482/monitor-unused-indexes-in-mysql、https://stackoverflow.com/questions/3243475/how-do-you-identify-unused-indexes-in -a-mysql-database – baao

+0

@baaoポインタをありがとう、私はそれを自分で見つけられませんでした! – Benjamin

答えて

0

利用可能な唯一の指標は、私のニーズを完全に満たす最後のMySQLサーバの再起動以降にインデックスがどれくらい使用されたかです。ポインタに@baaoする

SELECT object_schema, object_name, index_name 
FROM performance_schema.table_io_waits_summary_by_index_usage 
WHERE index_name IS NOT NULL AND count_star = 0 
ORDER BY object_schema, object_name; 

ありがとう:This answer in "Monitor unused indexes in MySQL"はそれ以来使用されていないインデックスを返すために、クエリ(MySQLを5.6+)を与えます。

関連する問題