Docs 菜单

Docs 主页启动和管理 MongoDBMongoDB Atlas

查看删除索引建议

在此页面上

  • 未使用的索引
  • 冗余索引
  • 隐藏索引 (Hidden Indexes)
  • 删除或隐藏索引

Performance Advisor 建议删除未使用的索引、冗余索引和隐藏索引,以提高写入性能并增加存储空间。

提示

另请参阅:

要详细了解不必要索引的影响,请参阅删除不必要的索引。

如果索引不支持任何查询,则该索引未被使用。

如果索引在创建或服务器重新启动后 7 天或更长时间不支持查询,则Performance Advisor会将索引标记为未使用。

注意

Performance Advisor仅检查20个最活跃的collection是否有未使用的索引。

如果另一个索引可以支持它可以支持的任何查询,则该索引是冗余的。

如果索引与同一collection中另一个索引的前缀匹配,则Performance Advisor会将其标记为冗余。

例子

如果集合包含索引:

  • { a: 1 }

  • { b: -1 }

  • { a: 1, b: -1 }

{ a: 1 } 是多余的,因为它与前缀{ a: 1, b: -1 }匹配。

{ b: -1 } 不是冗余的,因为它不匹配任何前缀。

在Performance Advisor中,冗余索引标有红色Redundant标记。在每个冗余索引下方,Performance Advisor会显示覆盖该冗余索引的相关索引。

注意

系统会显示相关索引,以验证是否可以安全删除冗余索引。 不建议删除相关索引。

Atlas 不使用隐藏索引来支持查询。它们仍然会影响写入性能并消耗存储空间。要了解更多信息,请参阅 隐藏索引。

您可以隐藏索引,以便在删除索引之前评估删除索引的影响。 与重建已删除的索引相比,取消隐藏索引所需的时间也更少。 要使用 Atlas 用户界面隐藏和取消隐藏索引,请参阅创建、查看、删除和隐藏索引。

Performance Advisor始终建议删除隐藏索引。如果您确定不需要隐藏索引,请将其删除。

注意

Atlas Performance Advisor 页面显示加载页面时来自最活跃的前20命名空间的隐藏索引。如果您的命名空间超过20 ,“性能优化顾问”页面可能不会显示所有带有隐藏索引的命名空间。

注意

在删除索引之前,请考虑将其隐藏。 Atlas 支持 MongoDB 5版本的隐藏索引。 0及更高版本。

要使用性能优化顾问删除或隐藏索引,请执行以下操作:

1

Performance Advisor标签页中,单击View Recommendations Drop Indexes卡片上的 。

2

性能优化顾问会显示一个对话框,其中包含指向Atlas 用户界面的链接以及用于删除该索引的可复制的MongoDB Shell命令。

在 MongoDB 5.0 及更高版本中,该对话框还提供了一个可复制的 MongoDB Shell 命令来隐藏该索引。

3

要使用 Atlas 用户界面删除或隐藏索引,请单击Indexes标签页,然后单击索引旁边的Drop IndexHide Index图标。 Atlas 会显示一个对话框以确认您的选择。 有关详细信息,请参阅创建、查看、删除和隐藏索引。

要使用 MongoDB Shell 删除或隐藏索引,请粘贴并运行 Performance Advisor 提供的命令。

← 查看索引排名