SQL

Design and change relational schemas, queries, transactions, migrations, and data access safely.

H1d3r Updated

File contents

SQL / Database Skill(for Agents)

适用场景

  • SQL 模式设计、查询优化、索引调整、迁移脚本、数据一致性问题
  • 与应用层联调涉及查询性能和数据安全的任务

核心原则

  1. 先读模型与索引:先确认主键、外键、唯一性和索引策略,再改 SQL。
  2. 最小影响:尽量以只读分析或增量迁移方式提交,降低线上风险。
  3. 正确性优先:任何优化都要保证幂等、事务安全和回滚可行。

强制执行清单

  • DDL/DML 改动必须明确迁移方向(Up/Down 或回滚方案)。
  • 变更涉及字段/约束时检查应用层兼容性(序列化/ORM 映射)。
  • 使用参数化查询,避免拼接 SQL。
  • 大查询加入索引评估:过滤列、排序列、连接列是否可被命中。
  • 敏感数据访问添加最小权限和审计字段(creator/operator/updated_at)。

推荐实践

  • 复杂查询先 EXPLAIN ANALYZE 验证执行计划再改结构。
  • 统计列与时间范围查询优先复合索引与覆盖索引。
  • 热更新类变更优先采用蓝绿 / 滚动策略,避免一次性锁表。
  • 逻辑删除字段与历史表写清生命周期,不与主键索引混淆。

常用质量门禁

  • EXPLAIN / EXPLAIN ANALYZE(或数据库对应执行计划工具)
  • 迁移脚本 dry-run / 测试环境回放
  • 慢查询日志复核(阈值由项目约定)
  • 数据一致性检查(计数核对、校验和或抽样对账)

反模式(避免)

  • 在高频路径使用无索引 LIKE '%xxx' 全表扫描。
  • SELECT * 在 API/导出路径直接暴露多余字段。
  • 无事务批量写导致部分成功部分失败。
  • 在生产直接执行大表 ALTER 而未评估锁与回滚时间。

与仓库冲突时的优先级

  • 以数据库类型版本、迁移框架与 CI 数据库测试约束为准。
  • 与本文件冲突时,以项目实际变更审批与回滚策略为准。

H1d3r/CodexAgengsSkills/tree/main/agent-skills/sql commit 847acc8b3a

Frequently asked questions

npx skillmds@latest add h1d3r/sql