MongoDB聚合:$indexStats

返回有关集合中每个索引使用情况的统计信息。如果运行时有访问控制,请至少以 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_"
   }
}

相关推荐

  1. MongoDB聚合:$indexStats

    2024-01-18 04:14:03       33 阅读
  2. MongoDB聚合管道:$match

    2024-01-18 04:14:03       34 阅读
  3. MongoDB聚合:$out

    2024-01-18 04:14:03       40 阅读
  4. MongoDB聚合:$replaceRoot

    2024-01-18 04:14:03       37 阅读
  5. MongoDB聚合:$addField

    2024-01-18 04:14:03       37 阅读
  6. MongoDB聚合:$facet

    2024-01-18 04:14:03       37 阅读
  7. MongoDB聚合:$bucket

    2024-01-18 04:14:03       34 阅读
  8. MongoDB聚合:$bucketAuto

    2024-01-18 04:14:03       36 阅读
  9. MongoDB聚合:$documents

    2024-01-18 04:14:03       36 阅读
  10. MongoDB聚合:$changeStreamSplitLargeEvent

    2024-01-18 04:14:03       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 04:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 04:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 04:14:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 04:14:03       20 阅读

热门阅读

  1. C#中类型的转换

    2024-01-18 04:14:03       30 阅读
  2. 数字猜测游戏

    2024-01-18 04:14:03       27 阅读
  3. ubuntu通过virtualbox安装win虚拟机

    2024-01-18 04:14:03       27 阅读
  4. Matlab | SISO系统差分方程求解(附matlab源码)

    2024-01-18 04:14:03       28 阅读
  5. vimrc配置文件

    2024-01-18 04:14:03       32 阅读
  6. Oracle JDK 8 中的 computeIfAbsent 方法及实践

    2024-01-18 04:14:03       24 阅读
  7. 设计模式之行为型模式

    2024-01-18 04:14:03       28 阅读
  8. Codeforces Round 920 (Div. 3)

    2024-01-18 04:14:03       32 阅读
  9. VCG 网格清洗之移除小组件

    2024-01-18 04:14:03       33 阅读
  10. 3、python布尔类型和条件表达式

    2024-01-18 04:14:03       32 阅读