OPTIONS
翻译或纠错本页面

衡量索引的使用情况

概述

查询请能是索引利用率的一个很好指标。但是,为了能准确的探究索引使用情况,MongoDB提供了一系列工具,帮助您研究查询操作并观察数据库索引的使用情况。

参见

参见 索引概念索引教程 了解更多。

操作

使用 explain() 返回查询计划(query plan)

在任意游标(例如 查询)后面附加 explain() 方法可以返回一个含有查询过程的统计数据的文档,包括所使用的索引,扫描过的文档数,查询所消耗的毫秒数。

使用 hint() 控制索引使用

在任意游标(例如 查询)后面附加 hint() 方法并以索引作为方法参数可以 强制 MongoDB使用指定的索引来匹配查询。请看如下示例:

db.people.find( { name: "John Doe", zipcode: { $gt: "63000" } } ).hint( { zipcode: 1 } )

您可以使用联合使用 hint() and explain() 来逐个对比每个索引的效率。您可以在 hint() 方法中指定 $natural 操作符来避免MongoDB使用 任何 索引(注; 亦即,查询不会使用索引):

db.people.find( { name: "John Doe", zipcode: { $gt: "63000" } } ).hint( { $natural: 1 } )

MongoDB实例的索引使用情况报告

MongoDB提供了一系列关于索引利用情况的度量工具和操作,这在您希望分析数据库中的索引使用情况时可能会需要用到: