again on index usage (7.1.3) - Mailing list pgsql-hackers

From Daniel Kalchev
Subject again on index usage (7.1.3)
Date
Msg-id 200202121236.OAA28220@dcave.digsys.bg
Whole thread Raw
Responses Re: again on index usage (7.1.3)  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-hackers
I had one more frustrating exprience with the 7.1.3 optimizer handling 
index/scan selection.

Here is the schema

RADIUS=# \d attrib                 Table "attrib"Attribute |      Type      |      Modifier       
-----------+----------------+---------------------user_name | character(32)  | not null default ''attr      |
character(32) | not null default ''value     | character(128) | op        | character(2)   | 
 
Index: uattr

RADIUS=# \d uattr      Index "uattr"Attribute |     Type      
-----------+---------------user_name | character(32)attr      | character(32)op        | character(2)
btree


(this is for use by gnu-radius).

RADIUS=# select count(*) from attrib;count  
--------396117
(1 row)

RADIUS=# select count(distinct user_name) from attrib;count 
-------62713
(1 row)


each username has more or less the same number of attributes.

SELECT * FROM attrib WHERE user_name = 'xyz';

always results in sequential scan.

As you can see, there is sufficient number of different user_name values - why 
the sequential scan?

Needless to say that turning off sequential scans results is measurably faster 
index scan.

Daniel



pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: [GENERAL] Feature enhancement request : use of libgda in
Next
From: "Marc G. Fournier"
Date:
Subject: Re: Optimizer(?) off by factor of 3 ... ?