Nigel Weeks wrote:
I was just wondering if having the segment size of BLOBs the same as the filesystem block sizes yields any benefits? Or does Firebird completely disregard the segment size when storing to/retrieving from disk.
Answer from Ann Harrison:
Firebird totally ignores segment size. The attribute is available for higher level programs as a suggested size for an allocated buffer. You can, of course, choose the segment size you want to write. Typically the engine writes everything up to 16K as a single segment.
Blobs are stored on database pages, making the segment size the same as the file system block size will have no effect on the size of a write - Firebird always writes page sized blocks. Making the segment size the same as a page is also a bad idea, because the page has a certain amount of overhead - about 20 bytes, if I remember, but subject to change.