PostgreSQL 11 新特性解读: 增加对JIT(just

  • 时间:
  • 浏览:1
  • 来源:大发彩神8下载最新版—大发快三官网大发彩神

JIT 表达式的编译使用LLVM项目编译器的架构来提升在WHERE条件、指定列表、聚合以及或多或少内部人员操作表达式的编译执行。

Add Just-in-Time (JIT) compilation of some parts of query plans to improve execution speed (Andres Freund)

安装相关包,如下:

LLVM官网下载安装介质,如下:

编译安装 LLVM,如下:

使用 initdb 初始化数据库,如下:

设置 pg_hba.conf,如下:

PostgreSQL 11 版本的一有1个 重量级新形态学 是引入了 JIT (Just-in-Time) 编译来加速SQL中的表达式计算时延。

以下大致演示 JIT,测试样例很简单,不做充分的性能测试,有兴趣的人们可不都能能做 TPC-H 性能测试。

操作系统: CentOS Linux release 7.4.1708 (Core)

硬件环境: 8核4G/150G 的云主机

最后推荐和张文升一齐编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级形态学 、并行查询、分区表、物理基因重组、逻辑基因重组、备份恢复、高可用、性能优化、PostGIS等,富含少量实战用例!

购买链接:https://item.jd.com/12405774.html

JIT 常用于CPU密集型SQL(分析统计SQL),执行快一点 的SQL使用JIT由于产生一定开销,反而由于引起性能下降。

从以上看出执行计划中都没办法 富含 JIT 信息,执行时间为 2385 ms 左右,开启JIT性能提升了9.7% 左右。

LLVM 安装依赖较多,如下:

创建一张5千万的数据表,如下:

设置 .bash_profile ,如下:

至此 LLVM 已安装成功。

下载PostgreSQL 11 并编译安装,编译时指定 --with-llvm 选项, 如下:

从以上看出执行计划富含有 JIT 编译信息,执行时间为 2154 ms 左右。

关闭 JIT,查看执行计划和扫行时间,如下:

下载并编译安装 cmake 3.12.3,如下:

设置环境变量,如下:

This feature requires LLVM to be available. It is not currently enabled by default, even in builds that support it.

解压 llvm-5.0.2.src.tar.xz

使用 JIT 时要在首先编译安装 LLVM ,可不都能能 编译安装 PostgreSQL 时设置 --with-llvm 选项,本文主要包括两次要,如下:

可不都能能 启动数据库,如下:

查看版本

解压安装包并重命名,目录形态学 对应如下,如下:

开启 JIT,执行计划如下:

下载并编译安装 python 2.7.9,如下:

LLVM 的安装步骤较繁琐,而且编译安装过程时间较长,性能好的机器能减少编译时间,注意操作系统需启用 swap,而且编译过程中会报错,自己现在现在开始编译安装时都没办法 启用 swap,折腾了可不都能能 。

LLVM 官网的其它安装包非时要,可根据状态取舍。

postgresql.conf 设置以下 JIT 配置参数,其它参数按需配置,这里不贴出,如下: