TPC-H Q1 测试显示 PgSQL 11 JIT 带来 30% 性能提升

栏目: 数据库 · PostgreSQL · 发布时间: 7年前

内容简介:PostgreSQL 11 正式版很快就能和我们见面了,该版本有一个和性能提升相关的重要特性 —— 对 JIT(just-in-time) 编译的支持。今年3月份我们曾报道过,在 TPC-H 等数据库测试中,发现用于 PostgreSQL 的 JIT 编译表达式速度快了不止 20%。在这种 JIT 模式下,创建索引的速度甚至可以提高 5~19%。与此同时,数据库初创公司 Citus Data 也对 PostgreSQL 11 进行了一次 TPC-H 基准测试,而这次的测试结果显示性能又有了更高的提升。TP

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 基准测试的规范请查看 TPC Benchmark™ 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 次。

TPC-H Q1 测试显示 PgSQL 11 JIT 带来 30% 性能提升

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

关于测试的详细内容请点此查看


以上所述就是小编给大家介绍的《TPC-H Q1 测试显示 PgSQL 11 JIT 带来 30% 性能提升》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法JavaScript描述

数据结构与算法JavaScript描述

[美] Michael McMillan / 王群锋、杜 欢 / 人民邮电出版社 / 2014-8 / 49.00元

通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。 本书主要内容如下。 数组和列表:最常用的数据结构。 栈和队列:与列表类似但更复杂的数据结构。 链表:如何通过它们克服数组的不足。 字典:将数据以键-值对的形式存储。 散列:适用于快速查找和检索。......一起来看看 《数据结构与算法JavaScript描述》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试