查看删除索引建议
Performance Advisor 建议删除未使用的索引、冗余索引和隐藏索引,以提高写入性能并增加存储空间。
未使用的索引
如果索引不支持任何查询,则该索引未被使用。
如果索引在创建或服务器重新启动后 7 天或更长时间不支持查询,则Performance Advisor会将索引标记为未使用。
冗余索引
如果另一个索引可以支持它可以支持的任何查询,则该索引是冗余的。
如果索引与同一collection中另一个索引的前缀匹配,则Performance Advisor会将其标记为冗余。
例子
如果集合包含索引:
{ a: 1 }
{ b: -1 }
{ a: 1, b: -1 }
{ a: 1 }
是多余的,因为它与前缀{ a: 1, b: -1 }
匹配。
{ b: -1 }
不是冗余的,因为它不匹配任何前缀。
在Performance Advisor中,冗余索引标有红色Redundant
标记。在每个冗余索引下方,Performance Advisor会显示覆盖该冗余索引的相关索引。
注意
系统会显示相关索引,以验证是否可以安全删除冗余索引。 不建议删除相关索引。
Hidden Indexes
MongoDB 4.4 版本中的新增功能
隐藏索引不用于支持查询。 它们仍然会影响写入性能并消耗存储空间。
隐藏索引对于评估删除索引的影响非常有用。 取消隐藏索引比重建已删除的索引容易得多。
要使用Performance Advisor隐藏索引,请参阅删除或隐藏索引。
要取消隐藏索引,请参阅 MongoDB 手册中的取消隐藏现有索引。
Performance Advisor始终建议删除隐藏索引。在确信不需要某个隐藏索引后,将其删除。
删除或隐藏索引
注意
MongoDB 建议在删除索引之前将其隐藏。 隐藏索引在 MongoDB 4.4及更高版本中可用。
要使用Performance Advisor删除或隐藏索引,请执行以下操作:
在要删除或隐藏的索引上,单击Drop Index 。
Performance Advisor显示一个对话框,其中包含指向数据浏览器的链接以及用于删除该索引的可复制的MongoDB Shell命令。
在 MongoDB 4.4 及更高版本中,该对话框还提供了一个可复制的 MongoDB Shell 命令来隐藏该索引。