すべてのエントリがミディアムテキストサイズのフィールドに収まる場合、MySQLロングテキストサイズのフィールドを使用することの欠点は何ですか?
私が尋ねている理由は、私がいくつかの長いテキストサイズのフィールドを持っていて、それらが大きすぎることに最近気付いたのですが、「何が害なのか」という理由で、細かい変更を行う動機付けに苦労したからです。したがって、質問です。
すべてのエントリがミディアムテキストサイズのフィールドに収まる場合、MySQLロングテキストサイズのフィールドを使用することの欠点は何ですか?
私が尋ねている理由は、私がいくつかの長いテキストサイズのフィールドを持っていて、それらが大きすぎることに最近気付いたのですが、「何が害なのか」という理由で、細かい変更を行う動機付けに苦労したからです。したがって、質問です。
唯一のストレージサイズの違いは、「このフィールドは何バイトか」という数値に割り当てられたバイト数です。細かいマニュアルから:
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
したがって、は同じテキストを格納するlongtext
よりも1バイト多く使用します。マニュアルの「データ型ストレージ要件mediumtext
」セクションにもう少し情報があり、 「BLOBおよびテキストタイプ」セクションにもう少し情報があります。
4つのTEXTタイプの間に実際的な違いはありません。
Mysqlは、一時テーブルを何度も使用してクエリを実行します。したがって、大きなサイズのフィールドを持つことの欠点は、MySqlが列のためにそれだけのスペースを予約することです。
ミディアムテキストと比較してロングテキストでマークされた列がある場合、同じデータでの実行が遅くなります