http://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)
候補者。