--添加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掃描(類(lèi)似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ì)劃中一次順序訪(fǎng)問(wèn)一個(gè)數(shù)據(jù)塊頁(yè)面的開(kāi)銷(xiāo),默認(rèn)1.0 random_page_cost:隨機(jī)訪(fǎng)問(wèn)一個(gè)數(shù)據(jù)塊頁(yè)面的開(kāi)銷(xiāo),默認(rèn)4.0 cpu_tuple_cost:執(zhí)行計(jì)劃中,處理一條數(shù)據(jù)行的開(kāi)銷(xiāo),默認(rèn)0.01 cpu_idex_tuple_cost:處理一條索引行的開(kāi)銷(xiāo),默認(rèn)0.005 cpu_operator_cost:執(zhí)行一個(gè)操作符或函數(shù)的開(kāi)銷(xiāo),默認(rèn)0.0025 effective_cache_size:執(zhí)行計(jì)劃中在一次索引掃描中可用的磁盤(pán)緩沖區(qū)的有效大小。默認(rèn)128MB --基因查詢(xún)優(yōu)化:是一個(gè)使用探索式搜索來(lái)執(zhí)行查詢(xún)規(guī)劃的算法,可以降低負(fù)載查詢(xún)的規(guī)劃時(shí)間,它的檢索是隨機(jī)的。 geqo:允許和禁止基因查詢(xún)優(yōu)化 geqo_threshold:只當(dāng)涉及的from關(guān)系數(shù)量至少有這么多個(gè)時(shí),才使用基因查詢(xún)優(yōu)化。 geqo_effort:控制geqo里規(guī)劃時(shí)間和查詢(xún)規(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);
創(chuàng)新互聯(lián)建站主打移動(dòng)網(wǎng)站、網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名注冊(cè)、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻?hù)承諾穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。