Re: [PERFORM] Slow query: bitmap scan troubles
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, Jeff Janes <jeff.janes@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2013-01-14T17:56:37Z
Lists: pgsql-hackers, pgsql-performance
Robert Haas <robertmhaas@gmail.com> writes: > On Mon, Jan 14, 2013 at 12:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> The old code definitely had an unreasonably large charge for indexes >> exceeding 1e8 or so tuples. This wouldn't matter that much for simple >> single-table lookup queries, but I could easily see it putting the >> kibosh on uses of an index on the inside of a nestloop. > The reported behavior was that the planner would prefer to > sequential-scan the table rather than use the index, even if > enable_seqscan=off. I'm not sure what the query looked like, but it > could have been something best implemented as a nested loop w/inner > index-scan. Remember also that "enable_seqscan=off" merely adds 1e10 to the estimated cost of seqscans. For sufficiently large tables this is not exactly a hard disable, just a thumb on the scales. But I don't know what your definition of "extremely large indexes" is. regards, tom lane
Commits
-
Tweak genericcostestimate's fudge factor for index size.
- bf01e34b556f 9.3.0 cited
-
Tweak index costing for problems with partial indexes.
- 21a39de5809c 9.2.0 cited