Subject | blobs causes table fragmentation. |
---|---|
Author | Dmitry Kuzmenko |
Post date | 2004-10-04T06:44:48Z |
Hello, All!
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.
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.
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.
--
Dmitri Kouzmenko
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.
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.
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.
--
Dmitri Kouzmenko