Measure Index Use衡量索引使用
On this page本页内容
Get Index Access Information with $indexStats
使用$indexStats
获取索引访问信息
$indexStats
Use the 使用$indexStats
aggregation stage to get statistics regarding the use of each index for a collection. $indexStats
聚合阶段可以获取有关集合中每个索引使用情况的统计信息。For example, the following aggregation operation returns statistics on the index use on the 例如,以下聚合操作返回orders
collection:orders
集合上使用的索引的统计信息:
db.orders.aggregate( [ { $indexStats: { } } ] )
See also: 另请参阅:
Return Query Plan with explain()
返回带explain()
的查询计划
explain()
Use the 在db.collection.explain()
or the cursor.explain()
method in executionStats mode to return statistics about the query process, including the index used, the number of documents scanned, and the time the query takes to process in milliseconds.executionStats
模式中使用db.collection.explain()
或cursor.explain()
。
Run 在db.collection.explain()
or the cursor.explain()
method in allPlansExecution mode to view partial execution statistics collected during plan selection.allPlansExecution
模式下运行db.collection.explain()
或cursor.explain()
。
See also: 另请参阅:
Control Index Use with hint()
控件索引与hint()
一起使用
hint()
To force MongoDB to use a particular index for a 要强制MongoDB为db.collection.find()
operation, specify the index with the hint()
method. db.collection.find()
操作使用特定索引,请使用hint()
方法指定索引。Append the 将hint()
method to the find()
method. Consider the following example:hint()
方法附加到find()
方法。考虑以下示例:
db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )
To view the execution statistics for a specific index, append to the 要查看特定索引的执行统计信息,请在db.collection.find()
the hint()
method followed by cursor.explain()
, e.g.:db.collection.find()
后面追加hint()
方法,然后再追加cursor.explain()
,例如:
db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } ).explain("executionStats")
Or, append 或者,将hint()
method to db.collection.explain().find()
:hint()
方法附加到db.collection.explain().find()
:
db.people.explain("executionStats").find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )
Specify the 为$natural
operator to the hint()
method to prevent MongoDB from using any index:hint()
方法指定$natural
运算符,以防止MongoDB使用任何索引:
db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { $natural: 1 } )
Index Metrics索引度量
In addition to the 除了$indexStats
aggregation stage, MongoDB provides various index statistics that you may want to consider when analyzing index use for your database:$indexStats
聚合阶段外,MongoDB还提供了各种索引统计信息,您在分析数据库的索引使用情况时可能需要考虑这些统计信息:
In the output of在serverStatus
:serverStatus
的输出中:In the output of在collStats
:collStats
的输出中:In the output of在dbStats
:dbStats
的输出中: