# SQL Optimize

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

- Skill: `rowankid/sql-optimize` (Agent Skill)
- Install (CLI): `npx skillmds@latest add rowankid/sql-optimize`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rowankid/sql-optimize/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: rowankid (https://skillmd.com/u/rowankid)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rowankid/sql-optimize

---


# SQL Optimize Skill — SQL 优化技能

## 常见问题与优化方向

### 索引问题
- WHERE 条件字段是否有索引？
- 联合索引是否遵循最左前缀原则？
- 是否存在索引失效（函数操作、隐式转换）？

### 查询效率
- 是否存在 SELECT *（应改为指定字段）？
- 是否存在子查询可改为 JOIN？
- LIMIT 大偏移量是否需要游标分页？

### N+1 问题
- 循环中是否有数据库查询？
- 是否可以改为批量查询（IN 语句 / JOIN）？

## 输出格式

```markdown
# SQL 优化建议

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

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

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

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

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

