Re: again on index usage (7.1.3)

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Daniel Kalchev <daniel(at)digsys(dot)bg>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: again on index usage (7.1.3)
Date: 2002-02-12 16:22:17
Message-ID: 20020212082050.M93077-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 12 Feb 2002, Daniel Kalchev wrote:

> 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.

Let's start with the standard set of things. Have you vacuum analyzed,
what does explain show for the query, is there one value that is more
common than all others?

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas SB SD 2002-02-12 16:28:06 Re: RTLD_LAZY considered harmful (Re: pltlc and pltlcu
Previous Message Greg Copeland 2002-02-12 15:54:04 Re: [GENERAL] Feature enhancement request : use of libgda in