33

すべてのエントリがミディアムテキストサイズのフィールドに収まる場合、MySQLロングテキストサイズのフィールドを使用することの欠点は何ですか?

私が尋ねている理由は、私がいくつかの長いテキストサイズのフィールドを持っていて、それらが大きすぎることに最近気付いたのですが、「何が害なのか」という理由で、細かい変更を行う動機付けに苦労したからです。したがって、質問です。

4

2 に答える 2

47

唯一のストレージサイズの違いは、「このフィールドは何バイトか」という数値に割り当てられたバイト数です。細かいマニュアルから:

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タイプの間に実際的な違いはありません。

于 2011-09-06T04:13:13.097 に答える
3

Mysqlは、一時テーブルを何度も使用してクエリを実行します。したがって、大きなサイズのフィールドを持つことの欠点は、MySqlが列のためにそれだけのスペースを予約することです。

ミディアムテキストと比較してロングテキストでマークされた列がある場合、同じデータでの実行が遅くなります

于 2011-09-06T03:54:13.727 に答える