Windows和Linux中PostgreSQL的不同执行计划

问题描述 投票:0回答:1

我最近在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

让我知道您是否对上述细节有任何想法,并且是否有造成速度缓慢问题的根本原因。

postgresql query-performance sql-execution-plan postgresql-12
1个回答
0
投票

看来JIT在Linux上弊大于利,因此请关闭它,例如,将jit=off放在postgresql.conf文件中。

您的Windows版本最初可能不是JIT附带的。无论如何,用于Windows的EnterpriseDB安装程序没有包含它。因此,即使参数jit显示为on,它也不会执行任何操作,因为没有任何打开的内容。

© www.soinside.com 2019 - 2024. All rights reserved.