https://dev.mysql.com /doc/refman/5.7/en/string-type-overview.html
基本的に、CHARを除くこれらすべてのタイプ 可変長です。
たとえば、VARCHAR(72)がある場合 abcdと書きます その中に、5バイトを格納します。文字ごとに4バイト、文字列の長さ(4)を格納するための1バイトのプレフィックス。
文字列の長さが255文字を超える場合、VARCHARプレフィックスは2バイトになります。したがって、VARCHAR(300) 256文字の文字列が格納されていると、258バイトを使用します。
TINYTEXT 保存できるのは255文字のみであるため、常に1バイトのプレフィックスがあります。abcd 5バイトかかります。
TEXT 2バイトのプレフィックスがあるため、abcd 6バイトになります。
LONGTEXT プレフィックスは4バイトなので、abcd 8バイトになります。
最後に、ほとんど役に立たないCHARがあります タイプ。 CHAR(72) 何を格納しても、常に72バイトを使用します。これは、フィールドに常にまったく同じ数の文字が存在する超短フィールドでのみ実際に役立ちます。 Yのように またはN 良いCHAR(1) 候補者。