PostgreSQL 11版本有一个和性能提升相关的重要特性:对JIT(just-in-time)编译的支持。在TPC-H等数据库测试中,发现用于PostgreSQL的JIT编译表达式速度快了不止20%。在这种JIT模式下,创建索引的速度甚至可以提高 5~19%。
表达式计算的JIT编译使用LLVM编译器的架构来提升在WHERE条件、指定列表、聚合以及一些内部操作表达式的编译执行。
JIT常用于CPU密集型SQL(分析统计SQL),执行很快的SQL使用JIT由于产生一定开销,反而可能引起性能下降。
参考1:https://yq.aliyun.com/articles/672471
参考2:http://llvm.org/devmtg/2016-09/slides/Melnik-PostgreSQLLLVM.pdf