]> granicus.if.org Git - postgresql/commitdiff
Revert ill-considered change of index-size fudge factor.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 11 Jan 2013 18:08:19 +0000 (13:08 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 11 Jan 2013 18:08:19 +0000 (13:08 -0500)
This partially reverts commit 21a39de5809cd3050a37d2554323cc1d0cbeed9d,
restoring the pre-9.2 cost estimates for index usage.  That change
introduced much too large a bias against larger indexes, as per reports
from Jeff Janes and others.  The whole thing needs a rewrite, which I've
done in HEAD, but the safest thing to do in 9.2 is just to undo this
multiplier change.

src/backend/utils/adt/selfuncs.c

index fb91d140261df0958d9b36a0ef00d3c9cd88d332..4b1229484eeedaf7db1572e9ce5cb77cf3cafc49 100644 (file)
@@ -6130,11 +6130,11 @@ genericcostestimate(PlannerInfo *root,
         *
         * We can deal with this by adding a very small "fudge factor" that
         * depends on the index size.  The fudge factor used here is one
-        * spc_random_page_cost per 10000 index pages, which should be small
+        * spc_random_page_cost per 100000 index pages, which should be small
         * enough to not alter index-vs-seqscan decisions, but will prevent
         * indexes of different sizes from looking exactly equally attractive.
         */
-       *indexTotalCost += index->pages * spc_random_page_cost / 10000.0;
+       *indexTotalCost += index->pages * spc_random_page_cost / 100000.0;
 
        /*
         * CPU cost: any complex expressions in the indexquals will need to be