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”页面可能不会显示所有带有隐藏索引的命名空间。
删除或隐藏索引
要使用性能优化顾问删除或隐藏索引,请执行以下操作:
在要删除或隐藏的索引上,单击Drop Index 。
Performance Advisor会显示一个对话框,其中包含指向Atlas用户界面的链接以及用于删除该索引的可复制的MongoDB Shell命令。
该对话框还提供了一个可复制的MongoDB Shell命令来隐藏该索引。
使用 Atlas 用户界面或 MongoDB Shell 删除或隐藏索引。
要使用Atlas用户界面删除或隐藏索引,请单击 Indexes标签页,然后单击索引旁边的 Drop Index 或 Hide Index 图标。Atlas会显示一个对话框以确认您的选择。有关更多信息,请参阅管理索引。
要使用 MongoDB Shell 删除或隐藏索引,请粘贴并运行 Performance Advisor 提供的命令。