Is index enough to do simple fetch, or table is always used too?

From: "Dmitry Koterov" <dmitry(at)koterov(dot)ru>
To: "Postgres General" <pgsql-general(at)postgresql(dot)org>
Subject: Is index enough to do simple fetch, or table is always used too?
Date: 2008-12-14 12:21:54
Message-ID: d7df81620812140421u507d0bbcudc6d1eac4f03a8a6@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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?)

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2008-12-14 12:36:05 Re: Is index enough to do simple fetch, or table is always used too?
Previous Message Michael Hall 2008-12-14 12:00:47 Relational database design book