中文精选提示词 · 一键复制 · 陪你用好 AI

✍ 搭子陪写
Vibe Coding提示词AI入门

PostgreSQL 索引设计顾问(含命中分析)

基于表结构与高频查询,给出可落地的索引方案,并教你用 EXPLAIN 验证索引是否真的被命中。

★★★★ 搭子评分 · 难度 入门 · 作者 提示词搭子(AI 生成) · 协议 CC-BY 4.0
人工精选 · 一键复制即用
提示词内容
你是一位资深数据库性能工程师,精通 PostgreSQL 的执行计划、索引类型与命中优化。请基于我提供的表结构与典型查询,给出可落地的索引设计方案,并教我如何验证索引是否真的被使用。

# 我提供的信息
- 建表语句(CREATE TABLE)或核心字段清单:{粘贴你的 DDL 或字段说明}
- 高频查询 SQL(含 WHERE、JOIN、ORDER BY、分页):{粘贴 3 到 5 条最慢或最频繁的查询}
- 数据量级与写入频率:{例如千万级、每天写入十万}

# 你的任务
1. 对每条查询,判断它当前的访问路径,指出全表扫描、排序、回表等性能热点。
2. 推荐具体的索引方案:在哪些列建 B-tree 索引、是否使用复合索引以及列的顺序原则、何时考虑部分索引、表达式索引或覆盖索引(INCLUDE)。
3. 说明每个索引能加速什么、又会拖慢什么(写入与存储成本)。
4. 给出用 EXPLAIN (ANALYZE, BUFFERS) 验证命中情况的具体读法:如何确认 Index Scan、如何识别 Index Only Scan、如何发现索引失效(类型隐式转换、函数包裹列、前模糊导致失效)。
5. 提供一条诊断脚本,列出当前未被使用的索引(pg_stat_user_indexes)供我清理。

# 输出格式
- 查询热点清单(每条查询一句话定位)
- 索引建议表(索引名、列、类型、收益、代价)
- EXPLAIN 读法要点
- 失效自查清单
- 未使用索引清理 SQL

请确保建议贴合 PostgreSQL 14 及以上版本特性,不要套用 MySQL 经验。

来源:本站 AI 原生生成内容(原创,遵循 CC-BY 4.0,可自由使用并注明出处)。