Re: Are there performance advantages in storing bulky field in separate table?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ian Mayo <ianmayo(at)tesco(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Are there performance advantages in storing bulky field in separate table?
Date: 2009-04-08 15:47:43
Message-ID: 12928.1239205663@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ian Mayo <ianmayo(at)tesco(dot)net> writes:
> I've got a fairly straightforward table that's similar to a blog table
> (entryId, date, title, author, etc). There is, however, the
> requirement to allow a single, fairly bulky binary attachment to
> around 1% of the rows.

> There will be a few million rows, and I value efficient searches by
> date, title, and author.

> Would there be a performance advantage in storing the attachment in a
> separate table - linked by entryId foreign key?

No. You'd basically be manually reinventing the TOAST mechanism;
or the large object mechanism, if you choose to store the blob
as a large object rather than a plain bytea field. Either way,
it won't physically be in the same table as the main row data.

If you're curious, this goes into some of the gory details:
http://www.postgresql.org/docs/8.3/static/storage-toast.html

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Smith 2009-04-08 15:52:38 Re: Now I am back, next thing. Final PGS tuning.
Previous Message John R Pierce 2009-04-08 15:43:09 Re: PGS Tuning Wizard destroys my login