From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Dick Kniep <dick(at)kniep(dot)nl> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: B-tree performance improvements in 8.x |
Date: | 2006-02-08 18:45:48 |
Message-ID: | 87vevp7kpv.fsf@stark.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Dick Kniep <dick(at)kniep(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Philippe Ferreira | 2006-02-08 18:47:41 | Re: Why pg_hba not in table? |
Previous Message | Michael Fuhr | 2006-02-08 18:29:31 | Re: plruby |