[前提条件]
- チューニングを行ないたいシステムが複数あり、それぞれ環境が異なるため
MySQLのバージョンを指定することができません。(色々なバージョンで実現可能な案を知りたいです。)
- おそらく未使用だと思われるテーブル、プログラムが多数あり
1個づつ丁寧に精査することが難しい。。。
- ・何故かほとんどのテーブルで、カラム毎にインデックスが作成されている。
(1つのテーブルにカラムが10個あれば、インデックスが10個存在。)
[やりたいこと]
システムが全体的に重いのでチューニングをしたい。
見直すべき箇所は多数あると思いますが、まずは大量にあるインデックスの削除を実施したい。
そのため、使用されているインデックスを特定し使われているインデックスは残し、他のインデックスを削除する。
ということを実現したいです。
[これまでに調べたこと]
https://qiita.com/nagahato/items/943143dcc515633b5301
上記サイトで「インデックス使ってないクエリをスロークエリログに出力」とあったので試してみましたが
あまりに数が多く「ほとんどのクエリでインデックスが使われていないんだろう」という状態になりました。
寧ろ、この逆「インデックスが使われているクエリをログに出力」といった機能があれば
使われているインデックスだけ残し、他(使われていない)インデックスの削除が出来るのではないかと考えているのですが
そのような機能、もしくは情報の取得方法は存在するのでしょうか。。。
回答1件
あなたの回答
tips
プレビュー