What is the disadvantage to using a MySQL longtext sized field when every entry will fit within a mediumtext sized field?
The reason I am asking is because I have some longtext sized fields and recently realized they are much too large, but then struggled with motivating myself to make the minute change because "what's the harm?" hence the question.
The only storage size difference is the number of bytes allocated for the "how many bytes is this field" number. From the fine manual:
TINYTEXT L + 1 bytes, where L < 2^8
TEXT L + 2 bytes, where L < 2^16
MEDIUMTEXT L + 3 bytes, where L < 2^24
LONGTEXT L + 4 bytes, where L < 2^32
So a longtext
will use one more byte than mediumtext
to store the same text. There is a bit more information in the Data Type Storage Requirements section of the manual and some more in the The BLOB and TEXT Types section.
There's no practical difference between the four TEXT types.
Mysql uses temporary tables a lot of times to execute queries.
So the disadvantage of having large sized field is that MySql will reserve that much space for the column.
You will have slow execution with same data if you have that column marked at longtext compare to mediumtext