From: | Вадим Акбашев <ufaowl(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Pg Bugs <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: Strange influence of default_statistics_target |
Date: | 2017-01-24 07:18:05 |
Message-ID: | CALoKji9ibXR9UwQOR+KxBuKbfcK3T6hdKsLK--2SME+JtRtoeA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hello.
Information i've sent, is it sufficient?
Thank you.
2017-01-19 14:11 GMT+05:00 Вадим Акбашев <ufaowl(at)gmail(dot)com>:
> Sorry, i've forgot to attach files themselves
>
> 2017-01-18 19:18 GMT+05:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>
>> =?UTF-8?B?0JLQsNC00LjQvCDQkNC60LHQsNGI0LXQsg==?= <ufaowl(at)gmail(dot)com>
>> writes:
>> > I have encountered a problem with querry plan building:
>> > I'd set default_statistics_target=700, run analyze. Postgres optimize
>> had
>> > chosen plan with hash_join and it took ~1 min for qerry to complete.
>> > Then i set default_statistics_target=500 and the plan was significantly
>> > changed and was using merge_join instead, complition time reduced in
>> > hundreds times, cost reduced drastically.
>> > Now i can't understand why more precise statistics leads to less
>> optimized
>> > plan and what is the right way to use default_statistics_target
>> parameter?
>> > I attach both good and bad querry plans and the querry itself
>>
>> Are those really the same query? Plan 2 is enforcing a "number_value IS
>> NOT NULL" condition on "attribute_value av1" that I don't see in plan 1.
>> And neither plan seems to have much to do with the query, since the
>> query has UNIONs that aren't in the plans.
>>
>> But the short answer seems to be that in both cases, the only reason that
>> the plan doesn't take forever to run is that one sub-join chances to yield
>> precisely zero rows, and the PG executor happens to be more efficient
>> about that corner case in the one plan shape than the other. The planner
>> doesn't take the possibility of that short-circuit happening into account,
>> since it generally cannot be sure that a sub-join wouldn't yield any rows.
>> So it's just luck that one plan is noticeably faster in this case.
>>
>> regards, tom lane
>>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | upeereddy | 2017-01-24 09:08:26 | BUG #14509: Installation Error |
Previous Message | Pavel Stehule | 2017-01-23 16:01:58 | Re: BUG #14508: PLPGSQL does not recognize nested user defined types |