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
r...@iol.ie

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to