PostgreSQL 13–新特性
PostgreSQL 13 Beta 1已經發布進行測試。
postgres=# show server_version_num; server_version_num -------------------- 130000 (1 row) |
PostgreSQL 13 新功能
與以前的版本相比, PostgreSQL 13 中已新增了 160 多個新功能。
我將比較 PostgreSQL 12 ( 12.3 )和 PostgreSQL 13 Beta 1 ( 13.0 )之間的主要區別。但是,在這裡我不會描述所有功能,我將列出在 效能改進中起重要作用的功能 。
用於測試 PostgreSQL 13 新功能的硬體 / 軟體。
§ 作業系統: RHEL 6
§ 磁碟: SSD
§ PostgreSQL 版本: v12.3 vs v13 Beta 1
新功能 1 :增量排序
PostgreSQL 13在其發行說明中強調了 增量排序是 PostgreSQL 13的主要新功能之一。
PostgreSQL 13 的增量排序,當已經對從查詢的較早部分排序的資料進行排序時,可以加速對資料的排序。
例如,您在 c1 上有一個索引,並且需要按 c1 , c2 對資料集進行排序。然後,增量排序可以為您提供幫助,因為它不會對整個資料集進行排序,而是對具有相同 c1 值的單個組進行排序。當您具有 LIMIT 子句時,增量排序將非常有幫助。
讓我們在 PostgreSQL 12 和 PostgreSQL 13 Beta 1 中執行以下查詢。
從 pgbench_accounts 訂單中選擇 * ,按幫助,出價進行;
這裡的援助有一個指標,而出價沒有一個指標。
PostgreSQL 12.3
[postgres@dbapath06 ~]$ psql psql (12.3) Type "help" for help.
postgres=# SET work_mem TO '64kB'; SET postgres=# explain analyze select * from pgbench_accounts order by aid, bid; QUERY PLAN ----------------------------------------------------------------------------------
Gather Merge (cost=60150.23..99041.91 rows=333334 width=97) (actual time=494.075..707.664 rows=400000 loops=1) Workers Planned: 2 Workers Launched: 2 -> Sort (cost=59150.20..59566.87 rows=166667 width=97) (actual time=442.889..470.942 rows=133333 loops=3) Sort Key: aid, bid Sort Method: external merge Disk: 16592kB Worker 0: Sort Method: external merge Disk: 13432kB Worker 1: Sort Method: external merge Disk: 11936kB -> Parallel Seq Scan on pgbench_accounts (cost=0.00..8224.67 rows=166667 width=97) (actual time=0.030..37.491 rows=133333 loops=3) Planning Time: 0.052 ms Execution Time: 724.088 ms (11 rows)
|
PostgreSQL 13 Beta 1
[postgres@postgreshelp ~]$ psql psql (13beta1) Type "help" for help.
postgres=# SET work_mem TO '64kB'; SET postgres=# explain analyze select * from pgbench_accounts order by aid, bid; QUERY PLAN ---------------------------------------------------------------------- Incremental Sort (cost=0.47..34957.42 rows=400000 width=97) (actual time=0.208..219.769 rows=400000 loops=1) Sort Key: aid, bid Presorted Key: aid Full-sort Groups: 12500 Sort Method: quicksort Average Memory: 29kB Peak Memory: 29kB -> Index Scan using pgbench_accounts_pkey on pgbench_accounts (cost=0.42..16957.42 rows=400000 width=97) (actual time=0.055..146.3 56 rows=400000 loops=1) Planning Time: 0.810 ms Execution Time: 234.531 ms (7 rows) |
透過不一次對整個表進行排序,而是對塊進行排序,這增加了排序後的塊適合記憶體的機會,並且有可能使用快速排序代替較慢,要求更高的外部排序。
您可以使用以下引數啟用或禁用查詢計劃程式對增量排序步驟的使用。預設值為 。 on
enable_incrementalsort ( boolean )
原文連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2738537/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDK13新特性詳解JDK
- ECMA 2022 (es13) 新特性
- 新特性:postgresql的vacuum漫談SQL
- AnalyticDB for PostgreSQL 6.0 新特性介紹SQL
- 收藏版:《JDK13新特性詳解》JDK
- Redis 6.0 新特性-多執行緒連環13問!Redis執行緒
- PostgreSQL 13.0正式版本釋出!更多新特性來襲SQL
- ES13中11個令人驚歎的 JavaScript 新特性JavaScript
- 13. 尚矽谷_Java8新特性_Stream API 練習JavaAPI
- 大咖帶你解讀 PostgreSQL 15 新特性 | 直播預告SQL
- PostgreSQL 15 新特性解讀 | 墨天輪優質文章合集SQL
- 【pgupgrade】Postgresql10升級到Postgresql13SQL
- .NET 9 最佳化,搶先體驗 C# 13 新特性C#
- 13 個 C# 10 特性C#
- 新特性
- PostgreSQL TPROC-C基準測試:PostgreSQL 12與PostgreSQL 13效能對比SQL
- PostgreSQL DBA(138) - PG 13(Drop database force)SQLDatabase
- 好訊息!PostgreSQL 13增加新功能!SQL
- PostgreSQL DBA(172) - PG 13(WAL activity in EXPLAIN)SQLAI
- PostgreSQL 13 同步流複製(#2.4)-202104SQL
- PostgreSQL 13 原始碼安裝(#1.1)-202103SQL原始碼
- React 新特性React
- 新特性介面
- Hadoop新特性Hadoop
- 鮮為人知的 PostgreSQL 特性 - hakibenitaSQL
- Oracle vs PostgreSQL DBA(13)- 拆分(split)分割槽OracleSQL
- PostgreSQL DBA(174) - PG 13(Allow inserts to trigger autovacuum)SQL
- PostgreSQL 13支援增量排序(Incremental Sorting)SQL排序REM
- PostgreSQL 13 非同步流複製(#2.1)-202103SQL非同步
- PostgreSQL 13 同步流複製+failover(#2.6)-202104SQLAI
- Java 11新特性Java
- Java 8 新特性Java
- Android 9.0新特性Android
- ES 2024 新特性
- Go 1.13 新特性Go
- Servlet 3.0 新特性Servlet
- MySQL 8.0 新特性MySql
- PHP 7.4 新特性PHP