Skip site navigation (1) Skip section navigation (2)

Re: merge join killing performance

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Matthew Wakeling <matthew(at)flymine(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-performance(at)postgresql(dot)org
Subject: Re: merge join killing performance
Date: 2010-05-20 02:04:18
Message-ID: AANLkTilruHtb1cc-TwN_bPVypkhIQo7p8I0y7035xLZ-@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-performance
On Wed, May 19, 2010 at 7:46 PM, Matthew Wakeling <matthew(at)flymine(dot)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

In response to

Responses

pgsql-performance by date

Next:From: Scott MarloweDate: 2010-05-20 02:06:15
Subject: Re: merge join killing performance
Previous:From: Matthew WakelingDate: 2010-05-20 01:46:29
Subject: Re: merge join killing performance

pgsql-hackers by date

Next:From: Scott MarloweDate: 2010-05-20 02:06:15
Subject: Re: merge join killing performance
Previous:From: Matthew WakelingDate: 2010-05-20 01:46:29
Subject: Re: merge join killing performance

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group