JIT 编译主要使那些耗时较长、重度受限于 CPU 算力的复杂分析型查询获益。对于几毫秒内即可极速完成的简单主键查找类短查询,动态生成机器码并交由 LLVM 编译的本身开销往往远高于其节约的执行时间。
优化器在计划生成阶段基于成本估算(Cost)来判定是否启用 JIT: 如果查询的预估总代价超过了 jit_above_cost 阈值(默认通常为 100000),系统将激活 JIT 编译; 若预估代价进一步超过 jit_inline_above_cost,则对小函数执行内联优化; 若预估代价进一步突破 jit_optimize_above_cost,则开启昂贵的高级代码优化。
通过在查询前附加 EXPLAIN(如 EXPLAIN ANALYZE),可以在计划树末尾直观查阅 JIT 算子的生成耗时、内联状态与优化开销明细。