客户将PostgreSQL迁移到Azure后,同一查询在冷缓存下从几十毫秒变慢至1-2秒。排查发现索引无膨胀或碎片、存储正常,真正原因是并行加载数据使相关行分散在更多堆页:某查询返回200行,慢环境占101个堆页,快环境仅5个。索引扫描只负责定位,堆页访问才是瓶颈。可用ctid统计不同堆页数进行诊断。VACUUM FULL无效,需按索引键重排堆(如CLUSTER或pg_repack),并注意后续写入会再次破坏局部性。
完成下面两步后,将自动完成登录并继续当前操作。