PostgreSQL 写代码,你真的用对了索引吗?

PostgreSQL 写代码,你真的用对了索引吗?

我见过太多项目跑着跑着就慢成狗,一查原因——索引建错了类型,或者根本没建索引。数据库调优这事,说难也难,说简单也简单,关键是得有份靠谱的「答案」在手边。

今天聊一个最近在 GitHub 上悄悄火起来的 Skill:postgres-patterns。这个 Skill 来自 ECC(The agent harness performance optimization system)仓库——对,就是那个 242K ⭐ 的超大型 AI 代码增强工具箱。

它到底解决什么问题?

简单说:把你从 PostgreSQL 的各种坑里捞出来。

它不是一个空泛的「最佳实践」列表,而是直接给出什么场景用什么索引、什么字段选什么数据类型、慢查询怎么查、RLS 怎么配才安全的对照表。

举个例子——很多人以为所有查询都用 B-tree 就行,但这个 Skill 会告诉你:

  • JSONB 模糊查询 → 用 GIN 索引
  • 时间序列范围查询 → 用 BRIN 索引
  • 复合条件查询 → 复合索引列顺序有讲究,等值列在前,范围列在后

核心能力一览

  • 索引速查表:WHERE 条件 → 对应索引类型,扫码即得
  • 数据类型选择指南:ID 用 bigint 不用 int、金额用 numeric 不用 float,细节决定性能
  • RLS 安全写法:踩过坑才知道,USING ((SELECT auth.uid()) = user_id) 这种双层 SELECT 是保命写法
  • 慢查询诊断 SQL:直接复制粘贴跑 pg_stat_statements,找出谁在拖后腿
  • UPSERT / 分页 / 队列:实战中常用的 SQL 模式,直接给标准答案

适合谁用?

如果你:

  • 在后端日常写 PostgreSQL 代码
  • 项目里用了 Supabase 或任何 Postgres 衍生服务
  • 发现线上数据库越来越慢,又不想瞎调

——装上这个 Skill,遇到数据库相关的问题时 Claude 会自动调用它,给你精准的调优建议而不是泛泛而谈。

怎么安装?

ECC 仓库支持多平台,postgres-patterns 是其中一个独立 Skill:

在 Claude Code 里直接:

npx skills add https://github.com/affaan-m/ecc --skill postgres-patterns

也可以手动把 SKILL.md 文件保存到 ~/.claude/skills/postgres-patterns/ 下。

GitHub 仓库本身 242K 星星,覆盖的不只是 Postgres——还有 MySQL、Redis、ClickHouse、Prisma 的各种模式,存着当工具箱很值。

写在最后

数据库调优这事,很多人靠搜索引擎临时查,但查到的答案往往是错的或者过时的。这个 Skill 相当于把 Supabase 等头部团队踩坑后沉淀下来的经验固化成了一份随时可查的 cheat sheet。

不是银弹,但确实是减少低级数据库错误、提升代码质量的好帮手。推荐开发者们收藏备用。

GitHub:https://github.com/affaan-m/ecc


GitHub: https://github.com/affaan-m/ecc

评论区

0 条评论

登录后可评论。

江望 2223 阅读