【发布时间】:2020-05-17 19:22:31
【问题描述】:
我最近在 Linux 服务器上部署了 PostgreSQL 数据库。
其中一个存储过程需要大约 3 到 4 秒来获取结果。以前我将 PostgreSQL 数据库部署到 windows 服务器,并且相同的存储过程在第二个内获取结果。在这两种情况下,我都检查了执行计划。
几乎相同,但 Linux 执行计划包含以下额外细节。
JIT:
Functions: 171
Options: Inlining true, Optimization true, Expressions true, Deforming true
Timing: Generation 26.548 ms, Inlining 8.198 ms, Optimization 2052.958 ms, Emission 1241.730 ms, Total 3329.434 ms
如果您对上述细节有任何想法并且有任何导致缓慢问题的根本原因,请告诉我。
【问题讨论】:
-
网络是否完全一样,或者您在服务器上运行查询?
-
两者都运行在同一个数据中心的不同服务器上。
-
可能有很多东西(机器规格、磁盘速度、postgres 版本、配置等),但在这种情况下,根据你问题中的“JIT:”,我猜@987654321 @ 在 linux 机器上启用,而不是在 windows 上。
-
尝试在 Linux 系统上禁用 JIT
标签: postgresql query-performance sql-execution-plan postgresql-12