MySQL | TEXT
Start your free 7-days trial now!
In order to store text in MySQL, we can use one of the following data types (L
is the length of the text):
Data Type | Storage Required | Maximum Storage |
---|---|---|
TINYTEXT | L+1 bytes, where L < $2^8$ | 255 B |
TEXT | L+2 bytes, where L < $2^{16}$ | 64 KB |
MEDIUMTEXT | L+3 bytes, where L < $2^{24}$ | 16 MB |
LONGTEXT | L+4 bytes, where L < $2^{32}$ | 4 GB |
Normally, the data type TEXT
is sufficient in most cases as we are allowed up to nearly 12,000 words for this (may vary slightly according to your average word length). If you are sure that your pages only require up to nearly 500 words, we can choose the TINYTEXT
datatype to save some storage space.
Note that unlike string types (e.g. CHAR
), there will be no padding inserted, which allows us to save a lot of space.
The downside of using the TEXT
data types is that, they are not stored in memory; when we query for them, they are read from the disk, which is considerably a lot slower. This is simply because the INNODB memory engine does not support the TEXT
datatype.