Re: B-tree performance improvements in 8.x - Mailing list pgsql-general

From Greg Stark
Subject Re: B-tree performance improvements in 8.x
Date
Msg-id 87vevp7kpv.fsf@stark.xeocode.com
Whole thread Raw
In response to Re: B-tree performance improvements in 8.x  (Dick Kniep <dick@kniep.nl>)
List pgsql-general
Dick Kniep <dick@kniep.nl> writes:

> Does this mean that if you have a table that has many rows, and 95% of the
> rows contain a NULL value for a field, that indexing will be useless, because
> it will always do a tablescan?

Any time you have 95% of the rows of the table with the same value you're
probably going to have to think harder than usual about indexing strategies.
You might consider constructing your index with "WHERE a IS NOT NULL" since
otherwise 95% of your index is going to be full of records that aren't
selective enough to be useful anyways.

If you access your table with "WHERE a = ?" then it will undoubtedly use the
index effectively. You're accessing less than 5% (presumably much less), so
the index is useful.

--
greg

pgsql-general by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: plruby
Next
From: Philippe Ferreira
Date:
Subject: Re: Why pg_hba not in table?