Re: ORDER BY and LIMIT not propagated on inherited

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: Matteo Beccati <php(at)beccati(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: ORDER BY and LIMIT not propagated on inherited
Date: 2005-09-02 17:54:56
Message-ID: 1125683697.3956.310.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Fri, 2005-09-02 at 12:20 +0200, Matteo Beccati wrote:
> I'm using inherited tables to partition some data which can grow very
> large. Recently I discovered that a simple query that on a regular table
> would use an index was instead using seq scans (70s vs a guessed 2s).
> The well known query is:
>
> SELECT foo FROM bar ORDER BY foo DESC LIMIT 1
>
> (The same applies for SELECT MIN(foo) FROM bar using 8.1)
>

Returning to Matteo's original query, what we are saying is that the new
optimization for MIN/MAX queries doesn't work with inherited tables.

It could do, by running optimize_minmax_aggregates() for each query that
gets planned to see if a better plan exists for each child table.

I think that's a TODO item.

Optimizing ORDER BY and LIMIT down looks like it would be harder to do
in the general case, even if Matteo's simple transform looks good. I'm
not sure it's a very common query type though...

Best Regards, Simon Riggs

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Chris Travers 2005-09-02 18:00:46 Re: Massive performance issues
Previous Message Josh Berkus 2005-09-02 16:50:01 Re: Massive performance issues