Re: plan time of MASSIVE partitioning ...
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Leonardo Francalanci <m_lists@yahoo.it>, Boszormenyi Zoltan <zb@cybertec.at>, pgsql-hackers Hackers <pgsql-hackers@postgresql.org>
Date: 2010-11-13T03:47:02Z
Lists: pgsql-hackers
Tom Lane wrote: > 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. FYI, I always wondered if the rare use of mergejoins justified the extra planning time of carrying around all those joinpaths. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +