Re: plan time of MASSIVE partitioning ...

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Leonardo Francalanci <m_lists@yahoo.it>
Cc: Boszormenyi Zoltan <zb@cybertec.at>, pgsql-hackers Hackers <pgsql-hackers@postgresql.org>
Date: 2010-10-29T20:23:36Z
Lists: pgsql-hackers
Leonardo Francalanci <m_lists@yahoo.it> writes:
>> Cases with lots of irrelevant indexes.  Zoltan's example had  4 indexes
>> per child table, only one of which was relevant to the query.   In your
>> test case there are no irrelevant indexes, which is why the  runtime
>> didn't change.

> Mmh... I must be doing something wrong. It looks to me it's not just
> the irrelevant indexes: it's the "order by" that counts.

Ah, I oversimplified a bit: actually, if you don't have an ORDER BY or
any mergejoinable join clauses, then the possibly_useful_pathkeys test
in find_usable_indexes figures out that we aren't interested in the sort
ordering of *any* indexes, so the whole thing gets short-circuited.
You need at least the possibility of interest in sorted output from an
indexscan before any of this code runs.

			regards, tom lane