最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL并行計(jì)算算法及參數(shù)強(qiáng)制并行度設(shè)置方法

 更新時(shí)間:2022年04月06日 15:12:57   作者:數(shù)據(jù)庫(kù)集中營(yíng)  
這篇文章主要介紹了PostgreSQL 并行計(jì)算算法,參數(shù),強(qiáng)制并行度設(shè)置,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、優(yōu)化器并行計(jì)算的并行度計(jì)算方法

1、總worker進(jìn)程數(shù)

postgres=# show  ;      
 max_worker_processes     
----------------------    
 128    
(1 row)   

2、所有會(huì)話,在同一時(shí)刻的QUERY,并行計(jì)算最大允許開(kāi)啟的WORKER數(shù)。

max_parallel_workers    

3、單條QUERY中,每個(gè)node最多允許開(kāi)啟的并行計(jì)算WORKER數(shù)

postgres=# show max_parallel_workers_per_gather ;    
 max_parallel_workers_per_gather     
---------------------------------    
 0    
(1 row)    

4、單個(gè)query, node的并行度

Min(parallel_workers(表級(jí)設(shè)置,沒(méi)有設(shè)置則,根據(jù)表大小計(jì)算得到), max_parallel_workers_per_gather)    

5、表級(jí)并行度參數(shù),默認(rèn)不設(shè)置,從表大小計(jì)算。

postgres=# alter table pa set (parallel_workers =32);    
ALTER TABLE    

6、真實(shí)并行度算法

min (max_worker_processes - 已運(yùn)行workers ,     
     max_parallel_workers - 其他會(huì)話當(dāng)前真實(shí)啟用的并行度 ,      
     Min(parallel_workers(表級(jí)設(shè)置,沒(méi)有設(shè)置則,根據(jù)表大小計(jì)算得到), max_parallel_workers_per_gather)     
)   

二、優(yōu)化器是否選擇并行計(jì)算

優(yōu)化器是否使用并行計(jì)算,取決于CBO,選擇成本最低的方法,并行計(jì)算成本估算,成本因子參數(shù)如下:

postgres=# show parallel_tuple_cost ;    
 parallel_tuple_cost     
---------------------    
 0    
(1 row)    
postgres=# show parallel_setup_cost ;    
 parallel_setup_cost     
---------------------    
 0    
(1 row)    

如果非并行計(jì)算的執(zhí)行計(jì)劃成本低于并行計(jì)算的成本,則不使用并行計(jì)算。

三、優(yōu)化器是否忽略并行計(jì)算

如果表掃描或索引掃描的表或索引低于設(shè)置的閾值,這個(gè)表掃描或索引掃描則不啟用并行計(jì)算。

postgres=# show min_parallel_table_scan_size ;    
 min_parallel_table_scan_size     
------------------------------    
 0    
(1 row)    
postgres=# show min_parallel_index_scan_size ;    
 min_parallel_index_scan_size     
------------------------------    
 0    
(1 row)    

四、優(yōu)化器強(qiáng)制選擇并行計(jì)算參數(shù)

#force_parallel_mode = on

五、并行計(jì)算相關(guān)參數(shù)

1、創(chuàng)建索引,CREATE TABLE AS,SELECT INTO 的并行度

postgres=# show max_parallel_maintenance_workers ;    
 max_parallel_maintenance_workers     
----------------------------------    
 24    
(1 row)   

2、并行分區(qū)表JOIN

#enable_partitionwise_join = on    

3、并行分區(qū)表分區(qū)聚合

#enable_partitionwise_aggregate = on    

4、并行HASH計(jì)算

#enable_parallel_hash = on    

5、LEADER主動(dòng)獲取并行WORKER的返回結(jié)果

parallel_leader_participation = on 

6、并行APPEND(分區(qū)表),UNION ALL查詢

#enable_parallel_append = on    

六、強(qiáng)行并行

強(qiáng)制并行度24

1、總的可開(kāi)啟的WORKER足夠大  
postgres=# show max_worker_processes ;  
 max_worker_processes   
----------------------  
 128  
(1 row)  
  
2、所有會(huì)話同時(shí)執(zhí)行并行計(jì)算的并行度足夠大  
postgres=# set max_parallel_workers=64;  
SET  
3、單個(gè)QUERY中并行計(jì)算NODE開(kāi)啟的WORKER=24  
postgres=# set max_parallel_workers_per_gather =24;  
4、所有表和索引掃描允許并行  
postgres=# set min_parallel_table_scan_size =0;  
postgres=# set min_parallel_index_scan_size =0;  
5、并行計(jì)算優(yōu)化器成本設(shè)置為0  
postgres=# set parallel_tuple_cost =0;  
postgres=# set parallel_setup_cost =0;  
6、設(shè)置表級(jí)并行度為24  
postgres=# alter table pa set (parallel_workers =24);  
ALTER TABLE  
7、效果,強(qiáng)制24并行。  
postgres=# explain (analyze) select count(*) from pa;  
                                                             QUERY PLAN                                                                
-------------------------------------------------------------------------------------------------------------------------------------  
 Finalize Aggregate  (cost=1615.89..1615.89 rows=1 width=8) (actual time=81.711..81.711 rows=1 loops=1)  
   ->  Gather  (cost=1615.83..1615.83 rows=24 width=8) (actual time=81.572..90.278 rows=25 loops=1)  
         Workers Planned: 24  
         Workers Launched: 24  
         ->  Partial Aggregate  (cost=1615.83..1615.83 rows=1 width=8) (actual time=58.411..58.411 rows=1 loops=25)  
               ->  Parallel Seq Scan on pa  (cost=0.00..712.71 rows=416667 width=0) (actual time=0.012..35.428 rows=400000 loops=25)  
 Planning Time: 0.449 ms  
 Execution Time: 90.335 ms  
(8 rows)  

七、函數(shù)并行

1、并行函數(shù)

create or replace function ftest(int) returns boolean as $$    
  select $1<1000;    
$$ language sql strict    
parallel safe;    
    
-- parallel safe 語(yǔ)法  

2、并行聚合函數(shù)

combinefunc    

到此這篇關(guān)于PostgreSQL 并行計(jì)算算法,參數(shù),強(qiáng)制并行度設(shè)置的文章就介紹到這了,更多相關(guān)PostgreSQL 并行計(jì)算算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Postgres中UPDATE更新語(yǔ)句源碼分析

    Postgres中UPDATE更新語(yǔ)句源碼分析

    這篇文章主要給大家介紹了關(guān)于Postgres中UPDATE更新語(yǔ)句源碼分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Ruoyi從mysql切換到postgresql的幾個(gè)踩坑實(shí)戰(zhàn)

    Ruoyi從mysql切換到postgresql的幾個(gè)踩坑實(shí)戰(zhàn)

    最近由于工作的原因,需要將Ruoyi從mysql切換到postgresql,所以這篇文章主要給大家介紹了關(guān)于Ruoyi從mysql切換到postgresql的幾個(gè)踩坑實(shí)戰(zhàn),需要的朋友可以參考下
    2023-02-02
  • postgresql數(shù)據(jù)庫(kù)根據(jù)年月查詢出本月的所有數(shù)據(jù)操作

    postgresql數(shù)據(jù)庫(kù)根據(jù)年月查詢出本月的所有數(shù)據(jù)操作

    這篇文章主要介紹了postgresql數(shù)據(jù)庫(kù)根據(jù)年月查詢出本月的所有數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • PostgreSQL導(dǎo)出數(shù)據(jù)庫(kù)表(或序列)的結(jié)構(gòu)和數(shù)據(jù)實(shí)例代碼

    PostgreSQL導(dǎo)出數(shù)據(jù)庫(kù)表(或序列)的結(jié)構(gòu)和數(shù)據(jù)實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于PostgreSQL導(dǎo)出數(shù)據(jù)庫(kù)表(或序列)的結(jié)構(gòu)和數(shù)據(jù)的相關(guān)資料,你可以使用pg_dump命令來(lái)導(dǎo)出PostgreSQL數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)和數(shù)據(jù),需要的朋友可以參考下
    2023-10-10
  • PostgreSQL如何根據(jù)字符串的長(zhǎng)度排序

    PostgreSQL如何根據(jù)字符串的長(zhǎng)度排序

    在PostgreSQL數(shù)據(jù)庫(kù)中,可以通過(guò)LENGTH函數(shù)獲取字符串的長(zhǎng)度,并據(jù)此進(jìn)行排序,LENGTH函數(shù)會(huì)計(jì)算并返回字符串的字符數(shù)量,要根據(jù)字符串長(zhǎng)度進(jìn)行升序排序,可以在SQL查詢中直接使用LENGTH函數(shù),本文介紹PostgreSQL如何根據(jù)字符串的長(zhǎng)度排序,感興趣的朋友一起看看吧
    2024-11-11
  • 使用PostgreSQL為表或視圖創(chuàng)建備注的操作

    使用PostgreSQL為表或視圖創(chuàng)建備注的操作

    這篇文章主要介紹了使用PostgreSQL為表或視圖創(chuàng)建備注的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql如何找到表中重復(fù)數(shù)據(jù)的行并刪除

    postgresql如何找到表中重復(fù)數(shù)據(jù)的行并刪除

    這篇文章主要介紹了postgresql如何找到表中重復(fù)數(shù)據(jù)的行并刪除問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • PostgreSQL教程(九):事物隔離介紹

    PostgreSQL教程(九):事物隔離介紹

    這篇文章主要介紹了PostgreSQL教程(九):事物隔離介紹,本文主要針對(duì)讀已提交和可串行化事物隔離級(jí)別進(jìn)行說(shuō)明和比較,需要的朋友可以參考下
    2015-05-05
  • 基于PostgreSQL的時(shí)序數(shù)據(jù)庫(kù)TimescaleDB的基本用法和概念

    基于PostgreSQL的時(shí)序數(shù)據(jù)庫(kù)TimescaleDB的基本用法和概念

    時(shí)序數(shù)據(jù)是指按照時(shí)間順序存儲(chǔ)的數(shù)據(jù),TimescaleDB是一個(gè)開(kāi)源的、擴(kuò)展了PostgreSQL的時(shí)序數(shù)據(jù)庫(kù)擴(kuò)展,本文就給大家詳細(xì)的介紹一下基于PostgreSQL的時(shí)序數(shù)據(jù)庫(kù)TimescaleDB的基本用法和概念,需要的朋友可以參考下
    2023-06-06
  • 使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng)的方法

    使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng)的方法

    這篇文章主要介紹了使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng),下面使用一個(gè)具體的例子來(lái)說(shuō)明如何使用PostgreSQL的json數(shù)據(jù)類(lèi)型來(lái)建立用戶標(biāo)簽數(shù)據(jù),需要的朋友可以參考下
    2022-10-10

最新評(píng)論

含山县| 周口市| 来宾市| 三门峡市| 修水县| 长春市| 桑日县| 进贤县| 乳源| 安丘市| 郁南县| 油尖旺区| 灯塔市| 祁东县| 名山县| 玉树县| 永靖县| 石泉县| 中阳县| 西青区| 五峰| 文昌市| 洪雅县| 巧家县| 通渭县| 隆子县| 罗田县| 新民市| 丹凤县| 建始县| 济南市| 无锡市| 营山县| 辽宁省| 宾阳县| 精河县| 屏南县| 丹棱县| 凌源市| 靖安县| 安图县|