📖
インデックスの整理したいよね
Daily Blogging50日目
ついに来ました50日目
長いようで短い道のりでした
最近DBのパフォーマンス系の本とか読んでて、とりあえずインデックスの整理したいなぁと。
不要なインデックスを削除して、改めて効果的なインデックスを貼り直したりとかしたい。
でも不要なインデックスってぱっと見じゃ全くわからん
pgheroで解決
なんとか視覚的にわかるようになってると嬉しい
尚且つ無料で簡単に使えると良い
Railsアプリケーションでそれを叶えてくれる便利なものはないのか...
そんな時はpgheroの出番
サンプルはこちら
これを使うと、全く使われていないインデックスや重複したインデックスを教えてくれる。
Query Statsを有効化すると、スロークエリもわかったりするらしいが、そこは別のツールで解決できるので今回は設定しない。
使い方
- まずは必要なgemのインストール
gem "pghero"
gem "pg_query", ">= 2"
- ルーティングを追加
mount PgHero::Engine, at: "pghero"
pgheroもRailsエンジンなのでルーティングをマウントする
これで「/pghero」にアクセスすると統計画面に遷移できるようになる
認証
上記の設定だけでブラウザから情報を確認できるようになるが、誰でも見れるようになっちゃうのでパス制御だけじゃなくて認証も設定しよう。
環境変数に二つ設定するだけでOk
PGHERO_USERNAME
PGHERO_PASSWORD
これを設定すると、「/pghero」にアクセスした時に、認証情報を求められるようになる
Discussion