Re: [HACKERS] Perfomance bug in v10

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Re: [HACKERS] Perfomance bug in v10
Дата
Msg-id 32d1504a-f0cc-fec1-5127-12389fd0e4d7@sigaev.ru
обсуждение исходный текст
Ответ на Re: [HACKERS] Perfomance bug in v10  (David Rowley <david.rowley@2ndquadrant.com>)
Ответы Re: [HACKERS] Perfomance bug in v10  (David Rowley <david.rowley@2ndquadrant.com>)
Список pgsql-hackers
Thank you for the answer!

>
> This is all caused by get_variable_numdistinct() deciding that all
> values are distinct because ntuples < DEFAULT_NUM_DISTINCT. I see that
> if the example is increased to use 300 tuples instead of 32, then
> that's enough for the planner to estimate 2 rows instead of clamping
> to 1, and the bad plan does not look so good anymore since the planner
> predicts that those nested loops need to be executed more than once.
I miss here why could the presence of index influence on that? removing 
index causes a good plan although it isn't used in both plans .

>
> I really think the planner is too inclined to take risks by nesting
> Nested loops like this, but I'm not all that sure the best solution to
> fix this, and certainly not for beta1.
>
> So, I'm a bit unsure exactly how best to deal with this.  It seems
> like we'd better make some effort, as perhaps this could be a case
> that might occur when temp tables are used and not ANALYZED, but the
> only way I can think to deal with it is not to favour unique inner
> nested loops in the costing model.  The unfortunate thing about not
> doing this is that the planner will no longer swap the join order of a
> 2-way join to put the unique rel on the inner side. This is evident by
> the regression test failures caused by patching with the attached,
> which changes the cost model for nested loops back to what it was
> before unique joins.
The patch, seems, works for this particular case, but loosing swap isn't 
good thing, I suppose.

>
> My other line of thought is just not to bother doing anything about
> this. There's plenty more queries you could handcraft to trick the
> planner into generating a plan that'll blow up like this. Is this a
> realistic enough one to bother accounting for? Did it come from a real
> world case? else, how did you stumble upon it?

Unfortunately, it's taken from real application.

-- 
Teodor Sigaev                      E-mail: teodor@sigaev.ru                                      WWW:
http://www.sigaev.ru/



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dilip Kumar
Дата:
Сообщение: Re: [HACKERS] <> join selectivity estimate question
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: [JDBC] [HACKERS] Channel binding support for SCRAM-SHA-256