Agent Skills
返回列表
💻

Supabase Postgres 查询、索引与 RLS 调优

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/tune-supabase-postgres-queries-indexing-and-rls-with-supabase-postgres-best-practices。

技能介绍

要解决的问题

Supabase 项目跑到中后期,性能问题往往不会集中在一个地方:某个列表页突然变慢,explain analyze 显示全表扫描;为了补救,索引越加越多,写入延迟开始上升;而真正棘手的是,绕过 RLS 的查询偶尔能拿到越权数据,或者因为策略写法过于宽泛,每次请求都触发额外的策略校验。

这些缺陷分散在 SQL、Schema 和权限策略三个层面,靠经验零散修补很难形成一致的工程标准。

这个技能做什么

它以 Supabase 官方的优先级建议为基准,对现有的 Postgres 工作做一次结构化审查,覆盖五个方向:

  • 查询性能:检查查询是否命中索引、是否存在隐式类型转换、是否缺少合适的过滤条件
  • Schema 设计:评估表结构是否利于查询计划,关系建模是否合理
  • 索引策略:识别缺失索引与冗余索引,关注复合索引的列顺序
  • 连接处理:审视连接池配置与事务边界,避免连接耗尽
  • RLS 安全性:定位权限策略中可能导致越权或性能问题的写法

使用边界

该技能需要你提供 Supabase Postgres 项目的访问权限,以及 SQL Schema 与查询上下文。如果手头有 EXPLAIN 输出或性能指标,审查会更有依据。它不会代替你做架构决策,也不会自动改写代码——它输出的是一份按优先级排列的问题清单与修复方向。

使用场景

  • 上线前审查 Supabase 查询性能,定位慢接口的全表扫描问题
  • 排查 RLS 策略是否存在越权风险,修复过于宽泛的权限定义
  • 优化 Supabase 索引配置,减少多余索引带来的写入延迟
  • 梳理表结构与连接配置,解决数据库连接池耗尽的问题

适合人员

  • 使用 Supabase 的全栈工程师,需要在迭代中兼顾功能开发与数据库规范
  • 负责 Postgres 性能优化的后端工程师,需要定位并解决查询瓶颈
  • 关注数据安全的开发者,需要确保 RLS 策略不会造成越权访问
  • 管理 Supabase 项目的运维人员,需要维护 Schema、索引与连接配置的稳定