# DB Mysql Standards

> 阿里巴巴Java开发手册 — 数据库规约审查与指导。当用户涉及以下任何场景时触发： - 数据库表设计、字段命名、类型选择 - 索引设计、优化SQL性能 - SQL语句审查（禁止select *、大事务拆分等） - ORM映射配置审查（MyBatis、Hibernate等） - 分库分表策略 - 数据库性能优化 - 用户提到"数据库设计"、"表结构"、"索引"、"SQL优化"、"ORM"等关键词 此技能以MySQL为例，但原则适用于所有关系型数据库（PostgreSQL、Oracle等）。

- Skill: `greenplumwine/db-mysql-standards` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add greenplumwine/db-mysql-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/greenplumwine/db-mysql-standards/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: Greenplumwine (https://skillmd.com/u/greenplumwine)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/greenplumwine/db-mysql-standards

---


# 数据库规约技能

## 作用

本技能基于《阿里巴巴Java开发手册》的MySQL数据库章节，为开发者提供数据库设计、索引优化、SQL规范和ORM映射的指导。

涵盖以下领域：

| 规约领域 | 说明 |
|---------|------|
| 建表规约 | 表命名、字段类型、必备字段、分库分表 |
| 索引规约 | 唯一索引、join限制、索引长度 |
| SQL语句 | 查询优化、大事务、批量操作 |
| ORM映射 | 结果映射、缓存、分页 |

## 使用方法

1. **表结构审查** — 输入：建表 SQL 或表结构设计文档；执行：读取 `references/table-design.md` 后逐项检查命名、字段类型、索引、必备字段；输出：按【强制】【推荐】【参考】分级的问题清单 + 修正SQL
2. **SQL优化** — 输入：待优化的查询 SQL 或慢查询日志；执行：读取 `references/sql-rules.md` 和 `references/index-rules.md` 后分析；输出：优化后的 SQL + 索引建议
3. **ORM配置审查** — 输入：MyBatis/Hibernate 映射文件或配置类；执行：读取 `references/orm-rules.md` 后检查映射、缓存、分页配置；输出：配置修正建议 + 正例参考
4. **按需加载规约**：根据审查目标选择对应的规约文件读取，不要一次性加载所有文件

## 数据库审查检查点

执行数据库规约审查时，以下场景需先向用户确认，再执行后续操作：

| 场景 | 检查内容 |
|------|---------|
| 建议修改表结构 | 涉及已有表的字段变更、索引调整时，确认数据量和业务影响窗口 |
| 建议重写 SQL | 确认 SQL 的执行频率和当前性能基线，评估重写后的回归测试范围 |
| 用户未提供 SQL/表结构 | 提示用户粘贴建表语句、SQL 或 ORM 配置，说明审查覆盖范围 |
| 建议分库分表 | 确认当前数据量、QPS 和增长预期，评估拆分策略和迁移成本 |

## 边界条件处理

| 场景 | 处理方式 |
|------|---------|
| 用户未提供 SQL/表结构 | 提示用户粘贴建表语句、SQL 或 ORM 配置，说明审查覆盖范围 |
| 生产环境已运行 | 表结构变更建议仅在业务低峰期执行，索引变更优先使用 Online DDL 工具 |
| ORM 框架差异（MyBatis/Hibernate/JPA） | SQL 和索引规约通用，ORM 特有配置（如缓存策略、懒加载）按用户实际框架调整 |
| 非 MySQL 数据库（PostgreSQL/Oracle） | 规约原则通用适用，但语法细节（如索引类型、分页语句）可能因数据库而异 |
| references 文件缺失 | 基于通用数据库设计原则给出建议，提示检查 references 目录完整性 |

## 规约文件索引

所有规约原文存放于 `references/` 目录下，按小节拆分，按需读取：

```
references/
├── table-design.md    # 建表规约（命名、字段类型、必备字段、分库分表）
├── index-rules.md     # 索引规约（唯一索引、join、索引长度）
├── sql-rules.md       # SQL语句规约（查询优化、事务、批量操作）
└── orm-rules.md       # ORM映射规约（结果映射、缓存、分页）
```

### 按需读取指引

| 任务类型 | 需要读取的规约文件 |
|---------|------------------|
| 审查表结构 | table-design.md |
| 审查索引设计 | index-rules.md |
| 审查SQL语句 | sql-rules.md |
| 审查ORM配置 | orm-rules.md |
| 全面数据库审查 | 按涉及领域逐个读取 |

## 规约等级说明

原文中的规约分为三个等级：
- **【强制】**：必须遵守
- **【推荐】**：建议遵守
- **【参考】**：供参考

## 审查输出格式

1. **【强制】违规项**
2. **【推荐】改进项**
3. **【参考】优化建议**
4. **正例参考**

