Re: TODO : Allow parallel cores to be used by vacuumdb [ WIP ] - Mailing list pgsql-hackers
From | Dilip kumar |
---|---|
Subject | Re: TODO : Allow parallel cores to be used by vacuumdb [ WIP ] |
Date | |
Msg-id | 4205E661176A124FAF891E0A6BA9135266398365@szxeml509-mbs.china.huawei.com Whole thread Raw |
In response to | Re: TODO : Allow parallel cores to be used by vacuumdb [ WIP ] (Amit Kapila <amit.kapila16@gmail.com>) |
Responses |
Re: TODO : Allow parallel cores to be used by vacuumdb [
WIP ]
|
List | pgsql-hackers |
<div class="WordSection1"><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">On</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"></span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">19December 2014 16:41, Amit Kapila Wrote,</span><p class="MsoNormal"><spanstyle="font-size:10.0pt;font-family:"Tahoma","sans-serif""> </span><p class="MsoNormal">>One ideais to send all the stages and corresponding Analyze commands<p class="MsoNormal">>to server in one go which meanssomething like<p class="MsoNormal">>"BEGIN; SET default_statistics_target=1; SET vacuum_cost_delay=0;<p class="MsoNormal">> Analyze t1; COMMIT;" <p class="MsoNormal">>"BEGIN; SET default_statistics_target=10; RESET vacuum_cost_delay;<pclass="MsoNormal">> Analyze t1; COMMIT;"<p class="MsoNormal">>"BEGIN; RESET default_statistics_target;<pclass="MsoNormal">> Analyze t1; COMMIT;"<p class="MsoNormal"> <p class="MsoNormal">Case1:<u>InCase for CompleteDB:</u><p class="MsoNormal"> <p class="MsoNormal">In base code first it willprocess all the tables in stage 1 then in stage2 and so on, so that at some time all the tables are analyzed at leastup to certain stage.<p class="MsoNormal"> <p class="MsoNormal">But If we process all the stages for one table first,and then take the other table for processing the stage 1, then it may happen that for some table all the stages areprocessed, <p class="MsoNormal">but others are waiting for even first stage to be processed, this will affect the functionalityfor analyze-in-stages.<p class="MsoNormal"> <p class="MsoNormal"><u>Case2: In case for independent tables like–t “t1” –t “t2”</u><p class="MsoNormal"> <p class="MsoNormal">In base code also currently we are processing all the stagesfor first table and processing same for next table and so on.<p class="MsoNormal"> <p class="MsoNormal">I think, ifuser is giving multiple tables together then his purpose might be to analyze those tables together stage by stage, <p class="MsoNormal">butin our code we analyze table1 in all stages and then only considering the next table.<p class="MsoNormal"> <pclass="MsoNormal">So for tables also it should be like<p class="MsoNormal">Stage1:<p class="MsoNormal"> T1<p class="MsoNormal"> T2<p class="MsoNormal"> ..<p class="MsoNormal">Stage2:<pclass="MsoNormal"> T1<p class="MsoNormal"> T2<p class="MsoNormal">…<p class="MsoNormal"> <pclass="MsoNormal">Thoughts?<p class="MsoNormal"> <p class="MsoNormal">>Now, still parallel operationsin other backends could lead to<p class="MsoNormal">>page misses, but I think the impact will be minimized.<pclass="MsoNormal"> <p class="MsoNormal">Regards,<p class="MsoNormal">Dilip<p class="MsoNormal"> <p class="MsoNormal"> <pclass="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><pclass="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><pclass="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></div>
pgsql-hackers by date: