製品&サポートサービス

pt-index-usage

コマンド

pt-index-usage [ オプション ] [ ファイル ]

【必須項目】

  • ・ [ ファイル ] : slowクエリログを絶対パスで指定します
  • ・ [ オプション ] : -p パスワード

【主なオプション】

  • ・ --drop : ユニークインデックスなども含め、使用されていない全てのインデックスを調査します(デフォルトでは調査対象となるのはセカンダリインデックスのみです)

目的

slowクエリログからクエリを読み込み、使用されていないインデックスを調査して、削除する為のクエリを出力します

設定ファイル

上記の必須項目を、設定ファイルにまとめておきます

# touch /etc/percona-toolkit/pt-index-usage.conf (設定ファイルの作成)
# vi /etc/percona-toolkit/pt-index-usage.conf (設定ファイルの編集)
# config for pt-index-usage
user=root (MySQL のユーザ名)
password=パスワード (MySQL のパスワードを記載)
D=test (データベース名)

シナリオ

以下のようなテーブルを用意します

pt-index-usage01

以下のSQL文を実行し、titleカラムに対してインデックスを作成します

mysql> CREATE INDEX title_idx ON articles (title);

以下のSELECT文を実行し、slowクエリログに記録させます

mysql> SELECT * FROM articles;

slowクエリログに対して、pt-index-usageコマンドを実行します

# pt-index-usage /var/lib/mysql/localhost-slow.log

結果

使用されていないインデックスを削除するためのALTER文が出力されます

pt-index-usage02

良い点

不要なインデックスをすぐに判別することが出来ます

MySQLや関連ソリューションに関するお問い合わせ、お見積などがございましたら、ご連絡ください。

お問い合わせ各MySQL保守サービス見積依頼スマートスタイルOSSストア

ページトップへ