Re: [DESIGN] ParallelAppend
От | Robert Haas |
---|---|
Тема | Re: [DESIGN] ParallelAppend |
Дата | |
Msg-id | CA+Tgmobw3mCOeBKL72z5szTZqgc1_Quaqr9RoEe1CFy6KwerBQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [DESIGN] ParallelAppend (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: [DESIGN] ParallelAppend
|
Список | pgsql-hackers |
On Fri, Nov 20, 2015 at 12:45 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: > Okay, but I think that's not what I am talking about. I am talking about > below code in cost_seqscan: > > - if (nworkers > 0) > > - run_cost = run_cost / (nworkers + 0.5); > > + if (path->parallel_degree > 0) > > + run_cost = run_cost / (path->parallel_degree + 0.5); > > > It will consider 50% of master backends effort for scan of each child > relation, > does that look correct to you? Wouldn't 50% of master backends effort be > considered to scan all the child relations? In the code you originally wrote, you were adding 1 there rather than 0.5. That meant you were expecting the leader to do as much work as each of its workers, which is clearly a bad estimate, because the leader also has to do the work of gathering tuples from the workers. 0.5 might not be the right value, but it's surely better than 1. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: