Re: merge join killing performance
От | Scott Marlowe |
---|---|
Тема | Re: merge join killing performance |
Дата | |
Msg-id | AANLkTil5u_ZEPtdVfsl4-XZuieLcXvd9wn5G2jc6k4Eo@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: merge join killing performance (Scott Marlowe <scott.marlowe@gmail.com>) |
Ответы |
Re: merge join killing performance
|
Список | pgsql-performance |
On Wed, May 19, 2010 at 8:04 PM, Scott Marlowe <scott.marlowe@gmail.com> wrote: > On Wed, May 19, 2010 at 7:46 PM, Matthew Wakeling <matthew@flymine.org> wrote: >> On Wed, 19 May 2010, Scott Marlowe wrote: >>>> >>>> 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. >> >> I wandered if it could be something like that, but I rejected that idea, as >> it obviously wasn't the real world case, and statistics should at least get >> that right, if they are up to date. >> >>> I changed stats target to 1000 for that field and still get the bad plan. >> >> What do the stats say the max values are? > > 5277063,5423043,13843899 (I think). > > # select count(distinct eid) from files; > count > ------- > 365 > (1 row) > > # select count(*) from files; > count > --------- > 3793748 A followup. of those rows, select count(*) from files where eid is null; count --------- 3793215 are null.
В списке pgsql-performance по дате отправления: