PostgreSQL 11版本有一個和性能提升相關(guān)的重要特性:對JIT(just-in-time)編譯的支持。在TPC-H等數(shù)據(jù)庫測試中,發(fā)現(xiàn)用于PostgreSQL的JIT編譯表達式速度快了不止20%。在這種JIT模式下,創(chuàng)建索引的速度甚至可以提高 5~19%。
表達式計算的JIT編譯使用LLVM編譯器的架構(gòu)來提升在WHERE條件、指定列表、聚合以及一些內(nèi)部操作表達式的編譯執(zhí)行。
JIT常用于CPU密集型SQL(分析統(tǒng)計SQL),執(zhí)行很快的SQL使用JIT由于產(chǎn)生一定開銷,反而可能引起性能下降。
參考1:https://yq.aliyun.com/articles/672471
參考2:http://llvm.org/devmtg/2016-09/slides/Melnik-PostgreSQLLLVM.pdf