博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TPC-H Q1 测试显示 PgSQL 11 JIT 带来 30% 性能提升
阅读量:6847 次
发布时间:2019-06-26

本文共 1274 字,大约阅读时间需要 4 分钟。

PostgreSQL 11 正式版很快就能和我们见面了,该版本有一个和性能提升相关的重要特性 —— 对 JIT(just-in-time) 编译的支持。今年3月份,在 TPC-H 等数据库测试中,发现用于 PostgreSQL 的 JIT 编译表达式速度快了不止 20%。在这种 JIT 模式下,创建索引的速度甚至可以提高 5~19%。

与此同时,数据库初创公司 Citus Data 也对 PostgreSQL 11 进行了一次 TPC-H 基准测试,而这次的测试结果显示性能又有了更高的提升。TPC-H 基准测试中的 Q1 查询十分适合用于测量新执行器堆栈在最佳状态下的表现,Citus Data 在本次测试中也使用了该查询。

关于 TPC-H 基准测试的规范请查看  的 137 页。规范中的每个查询都带有一个商业问题,Q1 查询的问题用 SQL 描述如下所示:

select    l_returnflag,    l_linestatus,    sum(l_quantity) as sum_qty,    sum(l_extendedprice) as sum_base_price,    sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,    sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,    avg(l_quantity) as avg_qty,    avg(l_extendedprice) as avg_price,    avg(l_discount) as avg_disc,    count(*) as count_orderfrom    lineitemwhere    l_shipdate <= date '1998-12-01' - interval ':1' daygroup by    l_returnflag,    l_linestatusorder by    l_returnflag,    l_linestatus:n -1;

最后的测试结果显示,PostgreSQL 11 在执行 TPCH Q1 查询时比 PostgreSQL 10 快 29.31%。当在循环中运行查询 10 分钟时,PostgreSQL 11 可执行 30 次,而 PostgreSQL 10 只能执行相同的查询 21 次。

在 PostgreSQL 11 中,由于在查询方案中(query planning time)使用了 LLVM 编译器基础结构,SQL 表达式会被转换为机器代码,这大大提升了查询方面的性能。对于那些足够昂贵的查询、那些进行大量编译行并一遍又一遍地评估表达式的查询,其带来的好处不言而喻。

相关链接

本文来自云栖社区合作伙伴“开源中国”
本文作者:局长

转载地址:http://silul.baihongyu.com/

你可能感兴趣的文章
比特币现金对穷人更友善
查看>>
DUBBO服务治理
查看>>
自定义Dialog
查看>>
值类型+引用类型+ref
查看>>
菱形组网之BGP MED、负载分担及GR篇
查看>>
Linux系统调优
查看>>
MySQL主从数据库同步延迟问题解决
查看>>
JQuery EasyUI后台UI框架使用连载
查看>>
看我linux如何防SYN***
查看>>
面向接口编程详解(二)——编程实例
查看>>
简单演示django使用二
查看>>
墨菲定律(侥幸定律)
查看>>
DNS之智能DNS二(Windows)
查看>>
批量修改文件后缀名的方法(当前目录及子目录)
查看>>
Linux Shell脚本攻略
查看>>
[信息图]手机进化史
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
提高你的编码速度–Eclipse 快捷健
查看>>
Linux下自动备份Oracle数据库并删除指定天数前的备份
查看>>