| From: | John R Pierce <pierce(at)hogranch(dot)com> | 
|---|---|
| To: | "Satish Burnwal (sburnwal)" <sburnwal(at)cisco(dot)com> | 
| Cc: | pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: Complete row is fetched ? | 
| Date: | 2010-04-16 06:11:02 | 
| Message-ID: | 4BC7FF76.2090803@hogranch.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
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.
for more info on toast, see 
http://www.postgresql.org/docs/current/static/storage-toast.html
| From | Date | Subject | |
|---|---|---|---|
| Next Message | A. Kretschmer | 2010-04-16 06:18:13 | Re: Complete row is fetched ? | 
| Previous Message | Satish Burnwal (sburnwal) | 2010-04-16 06:05:02 | Complete row is fetched ? |