溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

【PG執(zhí)行計(jì)劃】Postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃統(tǒng)計(jì)信息簡(jiǎn)述

發(fā)布時(shí)間:2020-08-08 18:58:55 來(lái)源:ITPUB博客 閱讀:284 作者:xysoul_云龍 欄目:關(guān)系型數(shù)據(jù)庫(kù)
--添加analyze實(shí)際執(zhí)行來(lái)獲得執(zhí)行計(jì)劃,可不加
explain analyze select * from test_table;
--只看執(zhí)行路徑,不看cost
explain (costs false) select * from test_table;
--通過(guò)實(shí)際執(zhí)行來(lái)看代價(jià)和緩沖區(qū)命中情況
explain (analyze true,buffers true) select * from test_table;
--與執(zhí)行計(jì)劃相關(guān)的配置項(xiàng)
enable_seqscan:是否選擇全表掃描
enable_indexscan:是否選擇索引掃描
enable_bitmapscan:是否選擇位圖掃描
enable_tidscan:是否tid掃描(類似oracle rowid)
enable_nestloop:多表連接時(shí),是否選擇嵌套循環(huán)連接
enable_hashjoin:多表連接時(shí),是否選擇hash連接
enable_mergejoin:多表連接時(shí),是否選擇merge連接
enable_hashagg:多表連接時(shí),是否使用hash聚合
enable_sort:是否使用明確的排序。
--cost基準(zhǔn)值參數(shù)
seq_page_cost:執(zhí)行計(jì)劃中一次順序訪問(wèn)一個(gè)數(shù)據(jù)塊頁(yè)面的開(kāi)銷,默認(rèn)1.0
random_page_cost:隨機(jī)訪問(wèn)一個(gè)數(shù)據(jù)塊頁(yè)面的開(kāi)銷,默認(rèn)4.0
cpu_tuple_cost:執(zhí)行計(jì)劃中,處理一條數(shù)據(jù)行的開(kāi)銷,默認(rèn)0.01
cpu_idex_tuple_cost:處理一條索引行的開(kāi)銷,默認(rèn)0.005
cpu_operator_cost:執(zhí)行一個(gè)操作符或函數(shù)的開(kāi)銷,默認(rèn)0.0025
effective_cache_size:執(zhí)行計(jì)劃中在一次索引掃描中可用的磁盤緩沖區(qū)的有效大小。默認(rèn)128MB
--基因查詢優(yōu)化:是一個(gè)使用探索式搜索來(lái)執(zhí)行查詢規(guī)劃的算法,可以降低負(fù)載查詢的規(guī)劃時(shí)間,它的檢索是隨機(jī)的。
geqo:允許和禁止基因查詢優(yōu)化
geqo_threshold:只當(dāng)涉及的from關(guān)系數(shù)量至少有這么多個(gè)時(shí),才使用基因查詢優(yōu)化。
geqo_effort:控制geqo里規(guī)劃時(shí)間和查詢規(guī)劃有效性直接的平衡。默認(rèn)5,1-10
geqo_pool_size:控制geqo使用池的大小
geqo_generations:控制geqo使用的子代數(shù)目,子代意思算法的迭代次數(shù)
geqo_selection_bias:控制geqo使用的選擇性偏好
geqo_seed:控制geqo使用的隨機(jī)數(shù)產(chǎn)生器的初始值,用以選擇隨機(jī)路徑。
--統(tǒng)計(jì)信息收集
--控制是否輸出sql執(zhí)行過(guò)程的統(tǒng)計(jì)信息到日志
log_statment_stats
log_parser_stats
log_planner_stats
log_executor_stats
--收到收集統(tǒng)計(jì)信息
analyze test01(id2);
analyze test01(id1,id2);
analyze test01;
--設(shè)置收集統(tǒng)計(jì)信息行數(shù)
set default_statistics_target to 500;
analyze test01;
--or 設(shè)置表中每個(gè)列的統(tǒng)計(jì)target值
alter table test01 alter column id2 set statistics 200;
--指定這個(gè)列上有多少唯一值
alter table test01 alter column id2 set (n_distinct=2000);
--子表會(huì)繼續(xù)使用父表的設(shè)計(jì)
alter table test01 alter column id2 set (n_distinct_inherited=2000);

【PG執(zhí)行計(jì)劃】Postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃統(tǒng)計(jì)信息簡(jiǎn)述


【PG執(zhí)行計(jì)劃】Postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃統(tǒng)計(jì)信息簡(jiǎn)述


【PG執(zhí)行計(jì)劃】Postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃統(tǒng)計(jì)信息簡(jiǎn)述

【PG執(zhí)行計(jì)劃】Postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃統(tǒng)計(jì)信息簡(jiǎn)述


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI