----- Original Message -----
From: Jim Starkey <jas@...>
Date: Wednesday, June 25, 2003 2:33 pm
Subject: [Firebird-Architect] Blobs
Hi Jim,
> Whether it makes more sense to store blobs in the same data space
> as record is an interesting question that is hard to answer in the
> abstract. Intermingling records and blobs reduces the cost to fetch
> a blob at the expense of increasing the cost of a linear scan. In
> Interbase/Firebird I think the trade off is highly application
> specific. If you assume that most applications (or at the least
> the ones we most care about) do virtually all record access by
> index, co-mingling is a significant gain. If an application is
> sloppy or has a large number of low selectivity fields, then
> separate data spaces probably wins, though the cost of keeping the
> two spaces approximately co-linear (or the failure to successfully
> do so) may cancel the gain. But I will confess that I was more
> concerned about efficiency with the very small cache sizes on
> computersthat we booted with buggy whips where Interbase grew up.
>
I checked it out. It is not 'abstract'. Nor application was sloppy
either large low selectivity fields were in database. To check it (I
mean to simulate different space for BLOB in FB) I create separate table
for BLOB field, place database files on its own disk and did backup
restore and after this linear scan operation have increase several
hundreds time.
BLOB volume to total volume in my case is approximately 0.999 and
database size is 60GB