MySQL の「テキスト」フィールドにはどのくらいの UTF-8 テキストが収まるでしょうか? 質問する

MySQL の「テキスト」フィールドにはどのくらいの UTF-8 テキストが収まるでしょうか? 質問する

MySQL によれば、text列は 65,535 バイトを保持します。

それで、これが正当な境界であれば、実際には約 32k の UTF-8 文字しか収まらないのでしょうか? それとも、これはドキュメントを書いた人が文字とバイトを区別できない「あいまいな」境界の 1 つであり、次のように設定すると、実際には約 64k の UTF-8 文字が許可されるのでしょうかutf8_general_ci?

ベストアンサー1

列は最大 バイトtextまで可能です65,535

文字utf-8は最大 3 バイトです。

つまり、実際の制限は21,844文字数になります。

詳細についてはマニュアルを参照してください:http://dev.mysql.com/doc/refman/5.1/en/文字列型の概要.html

可変長文字列。M は、文字数で表した最大列長を表します。M の範囲は 0 ~ 65,535 です。VARCHAR の有効な最大長は、最大行サイズ (65,535 バイト、すべての列で共有) と使用される文字セットによって決まります。たとえば、utf8 文字は 1 文字あたり最大 3 バイトを必要とするため、utf8 文字セットを使用する VARCHAR 列は最大 21,844 文字として宣言できます。

おすすめ記事