Is index enough to do simple fetch, or table is always used too? - Mailing list pgsql-general

From Dmitry Koterov
Subject Is index enough to do simple fetch, or table is always used too?
Date
Msg-id d7df81620812140421u507d0bbcudc6d1eac4f03a8a6@mail.gmail.com
Whole thread Raw
Responses Re: Is index enough to do simple fetch, or table is always used too?
List pgsql-general
Hello.

Suppose I have the following index:

CREATE INDEX idx ON tbl  USING btree (abc, def, id)

and perform the query with index scan:

SELECT md5(id)
FROM tbl
WHERE abc=1 AND def=2
LIMIT 200

The question: if the table "tbl" scanned to fetch "id" and calculate md5(id), or the value of "id" is brought directly from "idx" index with no table data access at all? The second behaviour is logical: why should we access the table if all the needed data is already in the index entry...

(Some time ago I have read something about this behaviour somewhere, but now cannot find it in the PostgreSQL documentation. Possibly it were words about another database, not Postges?)

pgsql-general by date:

Previous
From: Michael Hall
Date:
Subject: Relational database design book
Next
From: "David Rowley"
Date:
Subject: Re: Is index enough to do simple fetch, or table is always used too?