用途:在用户要求设计、审查、新增、删除、合并或调优 SQL Server 索引时使用,尤其针对聚集与非聚集索引选择、覆盖索引、筛选索引、列存储索引及分区对齐分析。
主要能力:提供索引设计工作流,从查询形态出发映射等值谓词、连接键、范围谓词、ORDER BY/GROUP BY 与选择列;校验数据类型与 SARGability;比较现有索引,合并重叠的缺失索引请求,识别重复索引;评估 INCLUDE 列、筛选索引与窄索引的写入成本;给出聚集键、覆盖索引、筛选索引、列存储索引的准则;检查分区对齐与分区消除;提供碎片整理与统计信息更新建议;附带索引使用情况与缺失索引候选的诊断查询。
使用方式:技能要求先完成强制信息收集,包括 SQL Server 版本、版本类型、兼容级别、Azure SQL 层级、查询文本与执行计划、现有索引清单、表 DDL、写入负载、变更约束等,缺失项需标记为未知。推荐格式包含证据、DDL、原因、成本、验证与回滚或替代方案。示例 DDL 如 CREATE NONCLUSTERED INDEX IX_Orders_CustomerDate ON dbo.Orders(CustomerID, OrderDate) INCLUDE (Status, TotalAmount); 维护命令如 ALTER INDEX ... REORGANIZE 或 REBUILD WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 60); 统计更新如 UPDATE STATISTICS dbo.Orders IX_Orders_CustomerID WITH FULLSCAN; 诊断查询使用 sys.dm_db_index_usage_stats 与 sys.dm_db_missing_index_* 视图。
适用场景:OLTP 与分析的索引设计、大表索引变更、分区表索引对齐、写入密集负载下的索引取舍、索引维护与碎片管理。
限制:索引建议必须工作负载感知与约束感知;不得将缺失索引 DMV 输出直接作为最终设计;筛选索引要求查询谓词蕴含筛选条件,参数化查询可能需重编译或动态 SQL;列存储适合分析扫描,高频单行更新可能受影响;分区消除需基于兼容且 SARGable 的谓词,不能仅凭日期过滤断言;在线/可恢复索引创建、分区切换等能力受版本与配置限制。资料未提供具体收费、价格或平台支持范围。