Re: Hash join in 8.3

Поиск
Список
Период
Сортировка
От André Volpato
Тема Re: Hash join in 8.3
Дата
Msg-id 476197DC.9090406@ecomtecnologia.com.br
обсуждение исходный текст
Ответ на Re: Hash join in 8.3  (Gregory Stark <stark@enterprisedb.com>)
Ответы Re: Hash join in 8.3  (Gregory Stark <stark@enterprisedb.com>)
Список pgsql-general
Gregory Stark escreveu:
> André Volpato <andre.volpato@ecomtecnologia.com.br> writes:
>
>> And the query:
>>
>> # select j.i, t.t from jtest j inner join test t on t.i = j.i where (j.i*1.5)
>> between 3000000 and 4000000;
>>
>> Planner for [1]:
>> Nested Loop  (cost=0.00..270192.02 rows=20000 width=41) (actual
>>
>> Planner for [2]:
>> Hash Join  (cost=176924.02..297518.03 rows=20000 width=38) (actual
>>
>> Now, turning off hashing:
>> # set enable_hashjoin=off;
>> # set enable_hashagg=off;
>>
>> Again for [2]:
>> Merge Join  (cost=178781.75..328370.60 rows=20000 width=38) (actual
>>
>
> I think the answer is that if you have bad statistics you'll get a bad plan
> and which bad plan is going to be pretty much random.
>
I believe the statistics are ok, I´ve runned vacuum analyze before all
those tries.
> But I'm curious if you turn off mergejoin whether you can get a Nested Loop
> plan and what cost 8.3 gives it. It looks to me like 8.3 came up with a higher
> cost for Nested Loop than 8.1.9 (I think 8.1.10 came out with some planner
> fixes btw) and so it's deciding these other plans are better. And they might
> have been better for the imaginary scenario that the planner thinks is going
> on.
Not anymore :)
Nested Loop  (cost=0.00..389461.65 rows=20000 width=38)
Total runtime: 22934.656 ms

Without hash and merge, the plan is exactly the same for 8.1 and 8.3.
No inicial cost for nested loops... it seems that hash < merge < nested
in this case.

--

[]´s,

André Volpato
Ecom Tecnologia LTDA - Análise e Desenvolvimento
andre.volpato@ecomtecnologia.com.br



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

Предыдущее
От: Gregory Stark
Дата:
Сообщение: Re: Hash join in 8.3
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Hash join in 8.3