本文介绍: $indexStats返回有关集合中每个索引使用情况的统计信息。如果运行时有访问控制,请至少以 clusterMonitor 角色的用户身份进行验证。
返回有关集合中每个索引使用情况的统计信息。如果运行时有访问控制,请至少以 clusterMonitor 角色的用户身份进行验证。
语法
{ $indexStats: { } }
对于每个索引,返回文件包括以下字段:
字段 | 含义 |
---|---|
name | 索引名称 |
key | 索引规格 |
host | mongod 进程的主机名和端口。 |
accesses | 使用索引的统计:ops 是使用索引的操作次数。since 是 MongoDB 收集统计数据的时间。 |
shard | 主机分片相关的名称,只适用于分片集群。版本4.2.4后支持 |
spec | 索引的完整规范文件,其中包括索引密钥规范文件。从 MongoDB 4.4 开始提供的隐藏索引选项只有在值为 true 时才会包含。4.2.4后支持 |
building | 指示当前是否正在建立索引。仅在为 true 时可用。4.2.4后支持 |
索引的统计信息将在 mongod 重启或索引删除和恢复时重置。
应用
访问字段
所报告的统计数据访问次数 字段报告的统计数据只包括用户请求驱动的索引访问。它不包括内部操作,如通过 TTL 索引进行删除或块分割和迁移操作。
限制
- $indexStats 必须是聚合管道的第一阶段。
- 事务中不允许使用 $indexStats。
索引修改重置统计数据
修改现有索引(参见 collMod 命令)会重置该索引的统计数据。
例子
集合orders
包含以下文档:
{ "_id" : 1, "item" : "abc", "price" : 12, "quantity" : 2, "type": "apparel" }
{ "_id" : 2, "item" : "jkl", "price" : 20, "quantity" : 1, "type": "electronics" }
{ "_id" : 3, "item" : "abc", "price" : 10, "quantity" : 5, "type": "apparel" }
在集合上创建以下两个索引:
db.orders.createIndex( { item: 1, quantity: 1 } )
db.orders.createIndex( { type: 1, item: 1 } )
针对数据集运行一些查询:
db.orders.find( { type: "apparel"} )
db.orders.find( { item: "abc" } ).sort( { quantity: 1 } )
要查看orders
集合中索引使用情况的统计信息,运行以下聚合操作:
db.orders.aggregate( [ { $indexStats: { } } ] )
操作返回一个文档,其中包含每个索引的使用统计信息:
{
"name" : "item_1_quantity_1",
"key" : { "item" : 1, "quantity" : 1 },
"host" : "examplehost.local:27018",
"accesses" : {
"ops" : NumberLong(1),
"since" : ISODate("2020-02-10T21:11:23.059Z")
},
"shard" : "shardA", // 运行在分片集群,MongoDB 4.2.4开始支持
"spec" : { // MongoDB 4.2.4开始支持
"v" : 2,
"key" : { "item" : 1, "quantity" : 1 },
"name" : "item_1_quantity_1"
}
}
{
"name" : "item_1_price_1",
"key" : { "item" : 1, "price" : 1 },
"host" : "examplehost.local:27018",
"accesses" : {
"ops" : NumberLong(1),
"since" : ISODate("2020-02-10T21:11:23.233Z")
},
"shard" : "shardA", // 运行在分片集群,MongoDB 4.2.4开始支持
"spec" : { // MongoDB 4.2.4开始支持
"v" : 2,
"key" : { "item" : 1, "price" : 1 },
"name" : "item_1_price_1"
}
}
{
"name" : "item_1",
"key" : { "item" : 1 },
"host" : "examplehost.local:27018",
"accesses" : {
"ops" : NumberLong(0),
"since" : ISODate("2020-02-10T21:11:22.947Z")
},
"shard" : "shardA", // 运行在分片集群,MongoDB 4.2.4开始支持
"spec" : { // MongoDB 4.2.4开始支持
"v" : 2,
"key" : { "item" : 1 },
"name" : "item_1"
}
}
{
"name" : "_id_",
"key" : { "_id" : 1 },
"host" : "examplehost.local:27018",
"accesses" : {
"ops" : NumberLong(0),
"since" : ISODate("2020-02-10T21:11:18.298Z")
},
"shard" : "shardA", // 运行在分片集群,MongoDB 4.2.4开始支持
"spec" : { // MongoDB 4.2.4开始支持
"v" : 2,
"key" : { "_id" : 1 },
"name" : "_id_"
}
}
原文地址:https://blog.csdn.net/superatom01/article/details/135588966
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_56178.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。