数据库索引优化:AI诊断慢查询并生成优化方案
提示词描述:
专为DBA和后端开发者设计的数据库性能调优提示词,通过结构化输入慢查询信息,AI可精准诊断索引失效原因并生成可直接执行的优化方案,平均节省70%的调优时间。
提示语关键词:
数据库优化,MySQL索引,慢查询分析,AI数据库调优,EXPLAIN分析,索引设计,SQL性能优化
提示词内容:
【应用场景】
数据库性能调优是后端开发的核心技能,但慢查询分析耗时且依赖经验。本提示词适用于MySQL/PostgreSQL等关系型数据库的索引优化场景,帮助开发者快速定位性能瓶颈。
【案例描述】
某电商系统订单表(orders)数据量达5000万行,执行"SELECT * FROM orders WHERE user_id = 12345 AND create_time > '2024-01-01'"耗时8.2秒。通过EXPLAIN分析发现type=ALL,key=NULL,需AI辅助设计复合索引。
【提示词正文】
作为数据库性能优化专家,请分析以下慢查询并输出优化方案:
表结构:{填写表结构,如CREATE TABLE语句}
慢查询SQL:{填写完整SQL语句}
当前索引:{填写现有索引列表}
数据量:{填写表行数}
EXPLAIN结果:{填写EXPLAIN输出}
请按以下结构输出:
1. 问题诊断(指出全表扫描/索引失效/回表等具体问题)
2. 索引设计(给出CREATE INDEX语句,说明列顺序选择依据)
3. 查询改写(如适用,提供改写后的SQL)
4. 预期效果(估算优化后的执行时间)
5. 注意事项(如索引维护成本、覆盖索引考量)
【使用技巧】
• 提供完整的EXPLAIN输出(含type、key、rows、Extra字段)
• 说明业务场景的读写比例(如读多写少可多用索引)
• 若涉及JOIN查询,需提供关联表的索引情况
【延伸用法】
• 批量分析:一次提交多条慢查询,对比优化优先级
• 索引冲突检测:检查新索引是否与现有索引冗余
• 分区表优化:针对大表提供分区键设计建议