MySQL VARCHAR 型の最大サイズを知りたいです。
最大サイズは行サイズによって制限され、約 65k であると読みました。フィールドを設定しようとしましたvarchar(20000)
が、大きすぎると言われます。
に設定できますvarchar(10000)
。設定できる最大値は正確にはいくらですか?
ベストアンサー1
MySQLには最大行サイズ制限があることに留意してください。
MySQL テーブルの内部表現では、BLOB 型と TEXT 型を除いて、行の最大サイズは 65,535 バイトに制限されています。BLOB 列と TEXT 列の内容は行の残りの部分とは別に格納されるため、行のサイズ制限に対して 9 ~ 12 バイトしか占めません。詳細については、テーブルの列数と行サイズの制限。
単一の列が占有できる最大サイズは、MySQL 5.0.3 以前とそれ以降で異なります。
VARCHAR 列の値は可変長文字列です。長さは、MySQL 5.0.3 より前では 0 から 255 までの値として指定でき、5.0.3 以降のバージョンでは 0 から65,535までの値として指定できます。MySQL 5.0.3 以降の VARCHAR の有効な最大長は、最大行サイズ (すべての列で共有される 65,535 バイト) と使用される文字セットによって決まります。
ただし、utf8 や utf8mb4 などのマルチバイト文字セットを使用する場合は、制限が低くなることに注意してください。
TEXT
行サイズの制限を克服するには、型を使用します。
4 つの TEXT タイプは、TINYTEXT、TEXT、MEDIUMTEXT、および LONGTEXT です。これらは 4 つの BLOB タイプに対応し、最大長とストレージ要件は同じです。
BLOB型とTEXT型の詳細
さらに
詳細は以下をご覧くださいデータ型のストレージ要件すべてのデータ タイプのストレージ要件を扱います。