Re: Strange logic for partial index proving - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Strange logic for partial index proving
Date
Msg-id 5042.1119537819@sss.pgh.pa.us
Whole thread Raw
In response to Re: Strange logic for partial index proving  (Richard Huxton <dev@archonet.com>)
Responses Re: Strange logic for partial index proving
List pgsql-hackers
Richard Huxton <dev@archonet.com> writes:
> laser wrote:
>> Aggregate (cost=13933.39..13933.39 rows=1 width=0) (actual
>> time=1901.761..1901.762 rows=1 loops=1)
>> -> Index Scan using partial_idx on partial_idx_t (cost=0.00..12622.93
>> rows=524183 width=0) (actual time=0.130..1230.634 rows=524288 loops=1)
>> Index Cond: ((id >= 1) AND (id <= 2000000000))
>> Total runtime: 1901.876 ms

>> Aggregate (cost=100009638.60..100009638.60 rows=1 width=0) (actual
>> time=1567.317..1567.318 rows=1 loops=1)
>> -> Seq Scan on partial_idx_t (cost=100000000.00..100008327.88
>> rows=524288 width=0) (actual time=0.046..906.747 rows=524288 loops=1)
>> Total runtime: 1567.401 ms

> I'd say your configuration settings are a long way from accurate.

Actually, I'd say these estimates are pretty good.  Ignoring the
100000000 penalty from "set enable_seqscan off", we have:

Planner cost ratio: 13933.39 / 9638.60 = 1.45
Actual cost ratio: 1901.876 / 1567.401 = 1.21

Given all the inaccuracies in the planning process, getting as close as
that is about the best you can hope for.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Dave Cramer
Date:
Subject: Re: HEAD initdb failing on OSX, addendum
Next
From: Tom Lane
Date:
Subject: Re: HEAD initdb failing on OSX