查看删除索引建议
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会显示覆盖该冗余索引的相关索引。
注意
系统会显示相关索引,以验证是否可以安全删除冗余索引。 不建议删除相关索引。
Hidden Indexes
Atlas 不使用隐藏索引来支持查询。 它们仍然会影响写入性能并消耗存储空间。 要了解更多信息,请参阅隐藏索引。
您可以隐藏索引,以便在删除索引之前评估删除索引的影响。 与重建已删除的索引相比,取消隐藏索引所需的时间也更少。 要使用 Atlas 用户界面隐藏和取消隐藏索引,请参阅创建、查看、删除和隐藏索引。
Performance Advisor始终建议删除隐藏索引。如果您确定不需要隐藏索引,请将其删除。
注意
Atlas Performance Advisor页面显示加载页面时来自最活跃的前20命名空间的隐藏索引。 如果您的命名空间超过20 ,“Performance Advisor”页面可能不会显示所有带有隐藏索引的命名空间。
删除或隐藏索引
注意
在删除索引之前,请考虑将其隐藏。 Atlas支持MongoDB 5.0及更高版本的隐藏索引。
要使用性能优化顾问删除或隐藏索引,请执行以下操作:
在要删除或隐藏的索引上,单击Drop Index 。
Performance Advisor会显示一个对话框,其中包含指向Atlas用户界面的链接以及用于删除该索引的可复制的MongoDB Shell命令。
在 MongoDB 5.0 及更高版本中,该对话框还提供了一个可复制的 MongoDB Shell 命令来隐藏该索引。
使用 Atlas 用户界面或 MongoDB Shell 删除或隐藏索引。
要使用 Atlas 用户界面删除或隐藏索引,请单击Indexes标签页,然后单击索引旁边的Drop Index或Hide Index图标。 Atlas 会显示一个对话框以确认您的选择。 有关详细信息,请参阅创建、查看、删除和隐藏索引。
要使用 MongoDB Shell 删除或隐藏索引,请粘贴并运行 Performance Advisor 提供的命令。