Re: Performance Problem Index Ignored, but why - Mailing list pgsql-admin

From Thomas A. Lowery
Subject Re: Performance Problem Index Ignored, but why
Date
Msg-id 20020522114056.A27057@stllnx1.stlassoc.com
Whole thread Raw
In response to Performance Problem Index Ignored, but why  ("Thomas A. Lowery" <tlowery@stlowery.net>)
List pgsql-admin
> estimate that 139654 rows will match f_state = 'PA' in the right
No, 375342 is the actual number.  Using the index does appear slower
(limited testing noted).

explain select count(*) from state_tst where f_state = 'PA'/
NOTICE:  QUERY PLAN:

Aggregate  (cost=277899.65..277899.65 rows=1 width=0)
  ->  Seq Scan on state_tst  (cost=0.00..277550.51 rows=139654
  width=0)

select count(*) from state_tst where f_state = 'PA'/
count
'375342'

Elapsed: 139 wallclock secs

set enable_seqscan = off/

 explain select count(*) from state_tst where f_state = 'PA'/
NOTICE:  QUERY PLAN:

Aggregate  (cost=542303.53..542303.53 rows=1 width=0)
 ->  Index Scan using st_f_state_idx on state_tst
 (cost=0.00..541954.39 rows=139654 width=0)

 select count(*) from state_tst where f_state = 'PA'/
count
'375342'

Elapsed: 222 wallclock secs

Tom

On Wed, May 22, 2002 at 12:26:35AM -0400, Tom Lane wrote:
> "Thomas A. Lowery" <tlowery@stlowery.net> writes:
> > Can I force the use of an index?
>
> Try "set enable_seqscan = off".  But on the basis of what you've shown,
> it's not obvious that an indexscan will be faster.  Is the planner's
> estimate that 139654 rows will match f_state = 'PA' in the right
> ballpark?
>
>             regards, tom lane

pgsql-admin by date:

Previous
From: "shreedhar"
Date:
Subject: Problem in 'User Securities' in postgres
Next
From: Naomi Walker
Date:
Subject: Re: Performance Problem Index Ignored, but why