MySQL TEXT memory allocation

前端 未结 1 1072
醉话见心
醉话见心 2020-12-11 04:26

Anybody knows how MySQL allocates disk space for fields like \"TEXT\" or \"BLOB\"

For example, what happens when I insert 10kb string into \"TEXT\" column? Is the en

相关标签:
1条回答
  • 2020-12-11 05:05

    This is explained in the documentation: http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html

    BLOB, TEXT              L + 2 bytes, where L < 2^16
    MEDIUMBLOB, MEDIUMTEXT  L + 3 bytes, where L < 2^24 
    LONGBLOB, LONGTEXT      L + 4 bytes, where L < 2^32
    

    Variable-length string types are stored using a length prefix plus data. The length prefix requires from one to four bytes depending on the data type, and the value of the prefix is L (the byte length of the string). For example, storage for a MEDIUMTEXT value requires L bytes to store the value plus three bytes to store the length of the value.

    So in short, the whole 65kb is not wasted.

    0 讨论(0)
提交回复
热议问题