4 ms·
It used to be that TEXT/BLOB data was stored outside of the table row in a separate area of the database. Any retrieval of this involved scanning to a separate
by astrodust 7y ago
It used to be that TEXT/BLOB data was stored outside of the table row in a separate area of the database. Any retrieval of this involved scanning to a separate spot on the disk.
In the days of spinny-disks this was a pretty huge penalty, you couldn't do linear reads to get the data, the heads would have to veer over to that other sector, read a bit of data, then skip back to read the next row. That was especially punishing as no amount of disk cache could help buffer against these reads that, to the operating system, seemed completely random.
MySQL moved the first X bytes of this data into the table row structure a while back (5.6? 5.7?) for performance reasons. It will only skip to the blob-data storage area if the data is longer than can fit in the size put in-row.
- pizza234 7y agoThe opposite engineering philosophies of providing use cases to support theories, versus providing generic arguments are incompatible; I'm closing here.
- astrodust 7y agoYou wanted an explanation, I gave you one, and now you're taking offence? Was I supposed to compose an 80-page whitepaper explaining the differences? If you really cared you'd do your own homework.