# Dw Performance Optimization

> 数仓性能优化流程，适用于分析 ETL SQL 执行计划、分区裁剪、JOIN 策略、数据倾斜和资源瓶颈。直接调用命令：/dw-performance-optimization。

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

---


# Step 7: 性能优化

## 执行流程

1. 调用 `dw-explorer` subagent 分析表结构和血缘（防止撑爆主 context）
2. 检查 SQL 执行计划和性能瓶颈
3. 输出优化建议

## 检查维度

### SQL 层面
- 是否存在全表扫描
- JOIN 是否合理（小表驱动大表）
- WHERE 条件是否使用分区裁剪
- 是否存在数据倾斜
- GROUP BY / DISTINCT 是否可优化

### 存储层面
- 分区策略是否合理
- 文件大小是否均匀
- 是否存在小文件过多

### 资源层面
- 资源分配是否合理
- 是否可以增加并行度

## 推荐提示词

```
对 [表名] 的 ETL SQL 进行性能分析：
1. 用 dw-explorer 分析表结构和上下游血缘
2. 检查 insert_[表名].sql 的执行计划
3. 给出优化建议
```

## 输出格式

```markdown
## 性能分析报告

### 当前瓶颈
- [瓶颈 1]
- [瓶颈 2]

### 优化建议
| # | 优化项 | 预期提升 | 改动难度 |
|---|--------|---------|---------|
| 1 | ...    | ...     | ...     |

### 优化后 SQL
[优化后的 SQL 语句]
```

