Subject Re: [Firebird-Architect] Re: UTF-8 vs UTF-16
Author Jim Starkey
Roman Rokytskyy wrote:

>If you put data in the row, you need three requests more to fetch that
>data from the database (isc_open_blob, isc_get_segment,
>isc_close_blob). If you store binary data that are always smaller than
>32k, it makes sense to put them into varchar and not into the blob and
>access will be faster.
>I will agree with you that conceptually this is wrong, but wire
>protocol changes are planned for 2.0, and this unicode stuff might
>belong to 1.6 already.
You got the part about conceptually wrong correct. If the blob is
small, it's on the the same
page. If the blob is big, it's stored on separate pages, increasing the
density of the root
records, increasing the number of record fetched per data page fetch
reducing linear scan
time. If you always fetch the record by index and always fetch all
blobs and your blobs are
exactly the size declared in the record definition, you point would have
some validity, but you
would also have a most unique application.