Agent Skills
返回列表
电商数据库性能体检

电商数据库性能体检

IT 运维与安全 更新于 2026.08.30

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8d36cde0/guoyiyi-v090-supabase-postgres-best-practices。

技能介绍

当订单表膨胀到千万级,查询为何开始变慢?

电商大促后,订单表可能堆积数千万行数据,原本毫秒级响应的查询突然超时。常见诱因包括:索引缺失或冗余导致全表扫描;长事务未提交引发锁竞争;连接池耗尽使新请求排队。此时,单纯扩容硬件无法根治问题,需要系统化的数据库性能体检。

技能如何拆解性能体检

该技能围绕 PostgreSQL + Supabase 的电商场景,提供可操作的检查路径:

  1. 诊断核心链路:聚焦订单、库存、支付等高频表,使用 EXPLAIN ANALYZE 分析查询计划,识别是否触发 Seq Scan 而非 Index Scan
  2. 索引有效性验证:检查现有索引是否被实际使用,冗余索引是否拖累写入性能
  3. 事务与锁分析:通过 pg_stat_activity 监控长事务,排查 FOR UPDATE 锁导致的阻塞
  4. 配置调优建议:针对 shared_buffers、work_mem 等参数给出基于数据量的调整方案

适用边界与注意事项

  • 版本兼容性:仅适用于 PostgreSQL 12+ 和 Supabase 2.x 及以上版本
  • 数据量参考:更适合千万级以下的中小型电商库,亿级数据需配合分库分表策略
  • 非替代监控:需与 Prometheus、Grafana 等监控工具配合,技能侧重于主动诊断而非实时告警
  • 安全边界:体检过程会读取系统表,生产环境建议在只读副本执行

使用场景

  • 大促前订单表查询大面积超时,需要用 EXPLAIN ANALYZE 逐条定位慢查询根因
  • 新增多个索引后写入性能明显下降,需要甄别哪些索引冗余、可以安全删除
  • 业务高峰连接池频繁耗尽,需排查是否有长事务未提交导致锁阻塞新请求
  • Supabase 实例数据量逼近千万行,需评估 shared_buffers、work_mem 等参数是否匹配当前规模

适合人员

  • 负责电商数据库运维的工程师,大促前需要快速定位慢查询与锁竞争
  • 使用 Supabase 自建电商后端的独立开发者,数据库规模扩大后需要调优配置
  • 管理 PostgreSQL 订单库的后端工程师,写入变慢时需要甄别冗余索引
  • 排查线上数据库故障的开发负责人,需要按系统表数据判断事务与连接问题