SuperAPI AI 工具集

mongodb-query-optimizer

通用与其它

查看项目

更新于 10-16 06:22

技能介绍

用途:该技能用于 MongoDB 查询与索引优化,仅在用户明确要求优化或性能帮助时调用,例如询问某条查询为何慢、如何加速、集群上的慢查询如何优化。常规查询编写不触发。

主要能力:可获取集合现有索引、查询的 explain() 输出和样本文档,并结合 Atlas Performance Advisor 的慢查询日志、建议索引、可删除索引与 schema 建议,给出优化方案。优先考虑能完全覆盖查询的索引,并参考核心索引原则、反模式示例等参考文件;涉及聚合管道或更新类查询时会加载对应参考文件。

使用方式:通过 MongoDB MCP 服务器调用工具,工具名作为 toolName、参数作为单个 arguments 对象传入。数据库工具包括 collection-indexes(参数 database、collection)、explain(参数 database、collection、method、可选 verbosity)、find(参数 database、collection、filter,可选 projection、sort、limit)。Atlas 工具包括 atlas-list-projects 和 atlas-get-performance-advisor(必填 projectId、clusterName,可选 operations 如 suggestedIndexes、dropIndexSuggestions、slowQueryLogs、schemaSuggestions)。典型流程为先查索引,再用 queryPlanner 检查是否 COLLSCAN,必要时用 executionStats 查看扫描与返回文档数,最后取样本文档推断结构。

适用场景:针对具体查询的优化、集群整体慢查询分析、索引增删建议。

限制:通用性能分析需要配置带 API 凭据的 Atlas MCP 服务器,否则只能针对具体查询给建议;未配置 MongoDB MCP 时仍可依据最佳实践建议。建议保持简洁并说明理由,避免绝对化表述;集合索引一般不超过 20 个;仅当建议来自 Atlas Performance Advisor 时才建议删除索引;未经用户批准不得直接通过 MCP 创建索引。