From: | "Jim C(dot) Nasby" <jim(at)nasby(dot)net> |
---|---|
To: | Neil Conway <neilc(at)samurai(dot)com> |
Cc: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Optimizer not using index on 120M row table |
Date: | 2003-04-08 04:18:59 |
Message-ID: | 20030407231859.O31861@flake.decibel.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Apr 07, 2003 at 11:49:27PM -0400, Neil Conway wrote:
> > On a related note, will pgsql do 'index covering', reading only the
> > index if it contains all the information a query needs?
>
> No -- in PostgreSQL, tuple visibility information is only stored in the
> heap, not in the index. So the heap tuple always needs to be examined,
> to determine if the specified tuple has been updated/deleted by some
> transaction.
'visibility information'? Is this related to the versioning that pgsql
uses instead of read locks? I know in other RDBMS's it's very useful to
have index covering because it eliminates needing to load the base pages
into memory at all, but I don't know pgqsl's layout well enough to know
how much this helps. Chapter 7 of the developers guide has info on page
files, but I haven't seen info on how index tuples are stored.
--
Jim C. Nasby (aka Decibel!) jim(at)nasby(dot)net
Member: Triangle Fraternity, Sports Car Club of America
Give your computer some brain candy! www.distributed.net Team #1828
Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2003-04-08 04:29:00 | Re: Optimizer not using index on 120M row table |
Previous Message | Tom Lane | 2003-04-08 04:02:55 | Re: Optimizer not using index on 120M row table |