SQL Optimize Skill — SQL 优化技能
常见问题与优化方向
索引问题
- WHERE 条件字段是否有索引?
- 联合索引是否遵循最左前缀原则?
- 是否存在索引失效(函数操作、隐式转换)?
查询效率
- 是否存在 SELECT *(应改为指定字段)?
- 是否存在子查询可改为 JOIN?
- LIMIT 大偏移量是否需要游标分页?
N+1 问题
- 循环中是否有数据库查询?
- 是否可以改为批量查询(IN 语句 / JOIN)?
输出格式
# SQL 优化建议
原始 SQL:
\`\`\`sql
[原始 SQL]
\`\`\`
问题描述: [发现的性能问题]
优化后 SQL:
\`\`\`sql
[优化后 SQL]
\`\`\`
优化说明:
- [改动点1及原因]
- [改动点2及原因]
建议新增索引:
\`\`\`sql
CREATE INDEX ...
\`\`\`