为无服务器实例自动创建索引
Atlas可以自动为您的无服务器实例创建索引,以提高查询性能。
自动创建索引的工作原理
自动创建索引会优先创建具有最高 Impact分数的索引。 Atlas 将影响定义为索引将带来的估计性能改进。
要详细学习;了解Impact分数以及Performance Advisor如何对索引进行排名,请参阅查看索引排名。
Atlas可以为无服务器实例中的每个集合自动创建最多四个索引。
自动索引创建频率
如果启用了自动创建索引, Atlas会每小时检查一次无服务器实例上的慢速查询。 如果在过去一小时内至少记录了 50 个慢速查询,并且满足以下两个条件,则Atlas一次会创建一个新索引:
Atlas 可找到具有高影响的索引建议。
Atlas确定构建新索引不会对无服务器实例的性能产生负面影响。 在确定性能影响时, Atlas会检查并发索引构建、 CPU、内存和其他因素。
启用或禁用自动创建索引
Atlas默认启用无服务器实例的自动索引。 您可以使用Atlas 用户界面和Atlas Administration API手动禁用或重新启用自动创建索引。 如果启用,自动创建索引将应用于无服务器实例中的所有集合。
启用自动创建索引
要使用Atlas 用户界面为无服务器实例启用自动创建索引,请完成以下步骤:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(部署)。
显示 集群页面。
POST
要为无服务器实例启用自动索引创建,请向设置无服务器自动索引端点发送 请求,并将 查询参数的值设立为enable
true
。
以下示例请求为无服务器实例启用自动索引创建:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/serverless/{clusterName}/performanceAdvisor/autoIndexing?enable=true"
启用自动创建索引后,Atlas 就会开始自动创建任何建议的高影响索引。
禁用自动创建索引
要使用Atlas用户界面为您的无服务器实例禁用自动创建索引,请完成以下步骤:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(部署)。
会显示集群页面。
POST
要为无服务器实例禁用自动创建索引,请向设置无服务器自动索引端点发送 请求,并将 查询参数的值设立为enable
false
。
以下示例请求禁用无服务器实例的自动索引创建:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/serverless/{clusterName}/performanceAdvisor/autoIndexing?enable=false"
禁用自动创建索引后,Atlas 将停止自动创建任何建议的高影响索引。
查看自动创建的索引
Atlas 在自动创建索引时会发送电子邮件警报。 您可以从 Atlas 用户界面索引视图查看自动创建的索引。 Atlas 用户界面显示自动创建的具有Auto-Created属性的索引。
删除自动创建的索引
您可以像删除任何其他索引一样删除自动创建的索引。 要删除自动创建的索引,请单击Drop Index 。 如果删除自动创建的索引,自动创建索引不会重新创建该索引。 Performance Advisor可能仍会建议使用该索引。