DDS索引推荐
操作场景
索引推荐功能基于实例的慢日志分析,自动识别执行效率低的查询语句,并结合查询模式、字段分布等信息,推荐能够提升查询性能的索引方案。该功能旨在帮助您快速定位索引缺失或索引不合理的问题,降低数据库调优的门槛,提升业务查询效率。
使用须知
- 推荐结果仅供参考,不保证完全准确。
索引推荐基于慢日志中的历史查询样本进行分析,存在以下局限性:
- 慢日志样本可能无法覆盖全部查询场景,推荐结果可能不完整。
- 推荐索引是否真正有效,需结合您的实际业务逻辑、数据分布和集合规模综合判断。
- 部分场景下,推荐的索引可能与已有索引存在冗余或重叠,请在创建前检查现有索引列表。
- 如果有条件建议在测试环境中验证推荐索引的效果后,再应用至生产环境。
- 请在业务低谷期执行索引创建。
即使使用了 background: true 后台构建模式,创建索引仍会对系统资源产生一定消耗:
- 索引构建过程会占用 CPU、内存和磁盘 I/O 资源。
- 在数据量较大的集合上构建索引,耗时可能较长。
- 高并发业务高峰期执行建索引操作,可能导致查询延迟上升,影响用户体验。
- 避免一次性创建过多索引。
并非索引越多越好,过多的索引会增加写操作的开销,因为每次写入都需要同步维护索引。建议每次仅创建最必要的 1 ~ 2 个索引,观察效果后再决定是否继续优化。对于已不再使用的旧索引,建议及时清理,以保持索引集合的精简。
- 创建前请检查现有索引。
在执行推荐索引之前,建议先通过以下命令查看当前集合的索引情况,避免重复创建:
db.<collectionName>.getIndexes()
功能原理
索引推荐系统的核心流程如下:
操作步骤
- 登录管理控制台。
- 单击管理控制台左上方的
,选择区域和项目。 - 在页面左上角单击
,选择,进入文档数据库服务信息页面。 - 在“实例管理”页面,选择目标实例,单击实例名称。
- 在左侧导航树,单击“慢日志”。
- 在"慢日志 >日志明细"页面即可查看索引推荐。 图1 索引推荐
后续操作
索引推荐功能是您进行数据库性能调优的辅助工具,能够有效降低人工分析慢日志的成本。合理参考推荐结果,结合业务实际情况审慎决策,是获得最佳优化效果的关键。如有疑问,您可以提交工单申请,完成工单提交,为您解答。