>>> [JS] Storing BLOBs in a table must slow down the inner workings of the
>>> database engine. After all, the tables are really disk files under the
>>> Can the database engine read only parts of a file record?
>>> Jerry Schwartz
>>Well, there's where things go wrong -- first of all, a "database engine"
>>can do -anything- it likes with the actual data.
>>For example, the Firebird DBMS stores (longer) Blob data not right
>>there in the record, so whenever you don't request the blob (that is,
>>not selecting it), it ignores it completely and it can go through the file
> [JS] That's an interesting idea that hadn't occurred to me. Essentially,
> creating a dependent table behind your back.
> Jerry Schwartz
Firebird uses 1 or multiple files per database, not per table, this file has
a special "blob area", so to speak, and the records include a "blob ID".
When a client/stored routine selects a blob that isn't available in the
data (stored "in between"), it then goes to the area where blobs are stored
and gets it from there. Works quite well.
As I said, a DBMS can do anything it likes with it's data as long as it
I'm surprised there are DBMSses that don't do this, Firebird comes from
InterBase comes from Groton Database Systems which was the first
with BLOBs and they had the idea right, so it seems ;-) Enjoy the read:
Download Database Workbench for Oracle, MS SQL Server, Sybase SQL
Anywhere, MySQL, InterBase, NexusDB and Firebird!
Database questions? Check the forum: