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

  • 时间:
  • 浏览:1
  • 来源:神彩大发快3_彩神大发快3官方

设置 pg_hba.conf,如下:

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

查看版本

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

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

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

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

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

设置环境变量,如下:

之前 启动数据库,如下:

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

开启 JIT,执行计划如下:

使用 JIT 还要在首先编译安装 LLVM ,之前 编译安装 PostgreSQL 时设置 --with-llvm 选项,本文主要包括两偏离 ,如下:

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

至此 LLVM 已安装成功。

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

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

解压 llvm-5.0.2.src.tar.xz

LLVM 安装依赖较多,如下:

LLVM 官网的其它安装包非还要,可根据情況选则 。

编译安装 LLVM,如下:

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

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

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

设置 .bash_profile ,如下:

PostgreSQL 11 版本的一个重量级新底部形态是引入了 JIT (Just-in-Time) 编译来加速SQL中的表达式计算速率单位单位 。

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

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

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

LLVM 的安装步骤较繁琐,但会 编译安装过程时间较长,性能好的机器能减少编译时间,注意操作系统需启用 swap,但会 编译过程中会报错,每每每个人开始了了编译安装时没人 启用 swap,折腾了之前 。

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

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

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

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

安装相关包,如下: