indexStats()(查看索引使用统计)

最后更新:2026-10-09

indexStats()(查看索引使用统计)

indexStats()返回集合各索引的使用统计,例如`db.users.indexStats()`,包含每个索引被访问的次数、命中/未命中计数等信息。它可以帮你发现从未被使用的索引并删除,减少写放大和存储开销。注意:统计从服务器最近一次启动或索引重建后开始累计。

分类索引与管理
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.<集合>.indexStats()

返回值:索引统计数组,含name、accesses、hits、misses等字段。

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// indexStats:查看各索引被使用的次数
const stats = db.users.indexStats()
stats.forEach(s => print(s.name + ': ' + s.accesses.ops + ' 次'))

运行结果:

_id_: 120 次
age_1: 45 次
email_1: 3 次

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QindexStats能看出哪些索引没用吗?
A能,accesses.ops为0或极低的索引说明很少被查询利用,可考虑删除。
QindexStats的统计从什么时候开始?
A从服务器最近一次启动或索引被重建时开始累计。
Q删掉不用的索引有什么好处?
A减少写入时的索引维护开销(写放大),并释放磁盘与内存空间。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏