I'm running in this misconception second time in a week or so, so
it is time to blog about it.
How blobs are stored in Innodb ? This depends on 3 factors. Blob
size; Full row size and Innodb row format.
But before we look into how BLOBs are really stored lets see what
misconception is about. A lot of people seems to think for
standard ("Antelope") format first 768 bytes are stored in the
row itself while rest is stored in external pages, which would
make such blobs really bad. I even seen a solution to store
several smaller blobs or varchar fields which are when
concatenated to get the real data. This is not exactly what
happens
With COMPACT and REDUNDANT row
formats (used in before Innodb plugin and named "Antelope" in
Innodb Plugin and XtraDB) Innodb would try to fit the whole row
onto Innodb page. At least 2 rows have to fit to each page plus
some page data, which makes the limit about …
[Read more]