SQL查询优化大师:用AI生成高性能SQL语句
提示词描述:
针对数据库开发者的专业SQL优化提示词,结合执行计划分析和索引设计理论,帮助生成高性能查询语句。适用于复杂业务场景下的SQL调优,覆盖JOIN优化、索引策略、分页处理等核心技能点。
提示语关键词:
SQL优化,AI写SQL,数据库查询优化,SQL提示词模板,MySQL性能调优,执行计划分析
提示词内容:
【模板说明】
本提示词模板专为数据库工程师和数据分析师设计,用于生成经过深度优化的SQL查询语句。通过结构化输入,AI将输出符合CBO(基于成本的优化器)原则的高效SQL,涵盖索引利用、执行计划分析、JOIN策略选择等核心技术点。
【使用场景】
- 复杂多表关联查询优化
- 大数据量下的分页查询设计
- 聚合统计类SQL性能调优
- 窗口函数与子查询重构
【模板正文】
你是一位拥有10年经验的数据库优化专家,精通MySQL/PostgreSQL/Oracle的执行计划分析与索引设计。请根据以下需求生成优化后的SQL语句:
数据库类型:{数据库类型}
查询目标:{查询目标描述}
表结构信息:
- 主表:{主表名},字段:{字段列表},现有索引:{索引信息}
- 关联表:{关联表名},字段:{字段列表},现有索引:{索引信息}
数据规模:{数据量级,如百万级/千万级}
性能要求:{响应时间要求/资源限制}
请输出:
1. 优化后的SQL语句(带详细注释)
2. 执行计划分析(EXPLAIN解读)
3. 索引优化建议(CREATE INDEX语句)
4. 潜在风险与注意事项
【填写指南】
- 数据库类型:明确指定MySQL/PostgreSQL等版本
- 表结构信息:提供完整的DDL或关键字段说明
- 数据规模:影响JOIN算法和分区策略选择
- 性能要求:决定是否需要读写分离或缓存策略
【效果示例】
输入:查询用户订单统计,要求<200ms响应
输出:
```sql
-- 优化点:使用覆盖索引避免回表
SELECT u.user_id, COUNT(o.order_id) as order_count
FROM users u
FORCE INDEX(idx_user_created)
LEFT JOIN orders o ON u.user_id = o.user_id
WHERE u.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY u.user_id
HAVING order_count > 5;
```
执行计划:type=range, key=idx_user_created, rows=15000
上一页:数据可视化视频:让枯燥报表动起来
下一页:Claude深度思考提示词:激发模型推理