Subject Re: [Firebird-Architect] blobs causes table fragmentation.
Author Arno Brinkman
Hi,

> As I understand current behavior, blobs less than 256 bytes are
> stored at the same data page, in record. If blob is bigger it
> is stored at blob page, not data page.

Is this hard-coded limited by 256?

> There are some systems that store blobs with different size,
> so blob data is spreaded between data and blob pages.
> This makes table more "fragmented" and seriously slowdown
> record retrieval if 'select' does not selects blob fields.

Do you meant blob-data expands record-length and due that more data-pages
are used for the records?

> The suggestion is - to add some header page flag that
> will disable blob storing at data page.
>
> Of course, this flag will cause small blobs to be at the whole
> blob page, and db space will be less used. But anyway, this
> will speedup record retrieval.
>
> p.s. Also, I think (don't know the code) this will be faster
> than trying to fit blob into the data page.

IIRC blobs aren't compressed.
Beside your solution it would be usefull to compress blobs (that fit into
data-page) also.

Regards,
Arno Brinkman
ABVisie

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Firebird open source database (based on IB-OE) with many SQL-99 features :
http://www.firebirdsql.org
http://www.firebirdsql.info
http://www.fingerbird.de/
http://www.comunidade-firebird.org/

Support list for Interbase and Firebird users :
firebird-support@yahoogroups.com

Nederlandse firebird nieuwsgroep :
news://newsgroups.firebirdsql.info