Re: Complete row is fetched ?

From: Raymond O'Donnell <rod(at)iol(dot)ie>
To: John R Pierce <pierce(at)hogranch(dot)com>
Cc: "Satish Burnwal (sburnwal)" <sburnwal(at)cisco(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Complete row is fetched ?
Date: 2010-04-16 08:18:45
Message-ID: 4BC81D65.5030407@iol.ie
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 16/04/2010 07:11, John R Pierce wrote:
> Satish Burnwal (sburnwal) wrote:
>> I have a ques - say I have a table that has 10 columns. But in a simple
>> select query from that table, I use just 3 columns. I want to know
>> whether even for fetching 3 columns, read happens for all the 10 columns
>> and out of that the required 3 columns are returned ? ie Does the
>> complete row with all the 10 columns are fetched even though I need just
>> 3 columns ? OR only 3 columns are fetched ?
>>
>
> yes and no.
>
> a row can consist of both a proper tuple in an 8K block, and toast data
> stored in toast tables. the whole block that the tuple is in will be
> read into the shared_buffers space, however, toast data thats not
> referenced will not be fetched. toast is used for larger fields that
> won't fit in a single block.

On a related note, what happens when you do something like this? -

select count(*) ....

Does any data actually get read?

Is there any difference internally to saying "count(1)" instead?

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod(at)iol(dot)ie

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message A. Kretschmer 2010-04-16 08:23:44 Re: Complete row is fetched ?
Previous Message Yeb Havinga 2010-04-16 07:07:41 Re: Complete row is fetched ?