indexStats() (インデックス使用統計)

最終更新:2026-10-09

indexStats() (インデックス使用統計)

indexStats() はインデックスごとの使用統計を報告します。例: `db.users.indexStats()` では、各インデックスのアクセス数、ヒット/ミスの集計などを取得できます。使われていないインデックスを見つけて削除し、書き込み増幅とストレージを削減するのに役立ちます。カウンタはサーバーが最後に起動した時点、またはインデックスが再構築された時点から累積されることに注意してください。

カテゴリインデックスと管理
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.<collection>.indexStats()

戻り値:name、accesses、hits、misses を持つインデックス統計の配列。

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// indexStats: 各インデックスの使用頻度を確認する
const stats = db.users.indexStats()
stats.forEach(s => print(s.name + ': ' + s.accesses.ops + ' ops'))

出力:

_id_: 120 ops
age_1: 45 ops
email_1: 3 ops

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

QindexStats で未使用インデックスを見つけられますか?
Aできます。accesses.ops がゼロまたはほぼゼロのインデックスはほとんど使われておらず、削除候補です。
QindexStats のカウンタはいつから始まりますか?
Aサーバーが最後に起動した時点、またはインデックスが再構築された時点から累積されます。
Q未使用インデックスの削除の利点は?
A挿入/更新時の書き込み増幅が減り、ディスクとメモリが解放されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%