【发布时间】:2020-02-17 18:03:00
【问题描述】:
我公司的生产数据库运行速度明显慢于测试数据库(本地 ~5ms,测试 ~18ms,生产 ~1-2 秒)。我们一直在尝试调查原因,并将针对我们云中安全 shell psql 实例的关键查询执行一些EXPLAIN ANALYZE。
我一直在尝试阅读有关数据库优化的信息,并且遇到了 postgresql 的 VACUUM,我想知道运行它是否会有所帮助。我们不会经常更新生产数据库——每次发布一次,尽管迁移会根据需要删除或截断表,然后导入新数据。我很好奇 VACUUM 在这里是否有潜在的帮助?如果是这样,我们会在测试数据库的 spiped 实例中看到类似的减速吗?
【问题讨论】:
-
请edit您的问题并添加execution plan 用于使用
explain (analyze, buffers, format text)(不是 只是一个“简单”的解释)作为formatted text 并确保您防止缩进计划(最好打开track_io_timing)。粘贴文本,然后将```放在计划前一行和计划后一行。还请包括所有索引的完整create index语句。 -
您是否关闭了自动吸尘器?
-
问题的描述与标题不一致。事实上,标题没有意义。没有截断 postgresql 数据库之类的东西,至少不是截断其中的每个表的单独概念。
-
如果您
ping生产数据库服务器,您会看到什么?
标签: database postgresql optimization database-optimization