Re: overhead of "small" large objects

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Philip Crotwell <crotwell(at)seis(dot)sc(dot)edu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: overhead of "small" large objects
Date: 2000-12-10 20:06:01
Message-ID: 8256.976478761@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Philip Crotwell <crotwell(at)seis(dot)sc(dot)edu> writes:
> Is there significant overhead involoved in using large objects that aren't
> very large?

Yes, since each large object is a separate table in 7.0.* and before.
The allocation unit for table space is 8K, so your 10K objects chew up
16K of table space. What's worse, each LO table has a btree index, and
the minimum size of a btree index is 16K --- so your objects take 32K
apiece.

That accounts for a factor of 3. I'm not sure where the other 8K went.
Each LO table will require entries in pg_class, pg_attribute, pg_type,
and pg_index, plus the indexes on those tables, but that doesn't seem
like it'd amount to anything close to 8K per LO.

7.1 avoids this problem by keeping all LOs in one big table.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2000-12-10 21:56:47 Re: Where do COMMENTs on columns go?
Previous Message Philip Crotwell 2000-12-10 19:13:12 overhead of "small" large objects