Re: merge join killing performance

Поиск
Список
Период
Сортировка
От Scott Marlowe
Тема Re: merge join killing performance
Дата
Msg-id AANLkTim6976amN_52jOUSGepq7N5aV2qy1jTBLSSJKbV@mail.gmail.com
обсуждение исходный текст
Ответ на Re: merge join killing performance  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-performance
On Wed, May 19, 2010 at 10:53 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Matthew Wakeling <matthew@flymine.org> writes:
>> On Tue, 18 May 2010, Scott Marlowe wrote:
>>> Aggregate  (cost=902.41..902.42 rows=1 width=4)
>>>     ->  Merge Join  (cost=869.97..902.40 rows=1 width=4)
>>>         Merge Cond: (f.eid = ev.eid)
>>>         ->  Index Scan using files_eid_idx on files f
>>>         (cost=0.00..157830.39 rows=3769434 width=8)
>
>> Okay, that's weird. How is the cost of the merge join only 902, when the
>> cost of one of the branches 157830, when there is no LIMIT?
>
> It's apparently estimating (wrongly) that the merge join won't have to
> scan very much of "files" before it can stop because it finds an eid
> value larger than any eid in the other table.  So the issue here is an
> inexact stats value for the max eid.

That's a big table.  I'll try cranking up the stats target for that
column and see what happens.  Thanks!

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: merge join killing performance
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: merge join killing performance