SQL Optimize

SQL 优化分析技能。分析慢查询、N+1 问题、缺失索引等数据库性能问题,输出优化建议和改写后的 SQL。适用于后端工程师处理数据库性能问题、架构师进行数据库评审。

rowankid ef6ae11 1.1 KB Updated

File contents

SQL Optimize Skill — SQL 优化技能

常见问题与优化方向

索引问题

  • WHERE 条件字段是否有索引?
  • 联合索引是否遵循最左前缀原则?
  • 是否存在索引失效(函数操作、隐式转换)?

查询效率

  • 是否存在 SELECT *(应改为指定字段)?
  • 是否存在子查询可改为 JOIN?
  • LIMIT 大偏移量是否需要游标分页?

N+1 问题

  • 循环中是否有数据库查询?
  • 是否可以改为批量查询(IN 语句 / JOIN)?

输出格式

# SQL 优化建议

原始 SQL:
\`\`\`sql
[原始 SQL]
\`\`\`

问题描述: [发现的性能问题]

优化后 SQL:
\`\`\`sql
[优化后 SQL]
\`\`\`

优化说明:
- [改动点1及原因]
- [改动点2及原因]

建议新增索引:
\`\`\`sql
CREATE INDEX ...
\`\`\`

rowankid/ai-team/tree/main/skills/sql-optimize commit ef6ae11ad2

Frequently asked questions

npx skillmds@latest add rowankid/sql-optimize