2012-03-29 18 views
1

カラムの最大サイズよりも小さいデータを挿入する場合にMySqlが "text"と "blob"のメモリをどのように割り当てるかは誰でも知っていますか?MySqlメモリ割り当て

たとえば、「テキスト」列に50K文字列を挿入するとどうなりますか? 65K列全体が割り当てられていますか?

+1

点で最大最大長さを有しているため

すなわち、テキストのサイズが何であるかを記憶するために'のsizeof(テキスト) '+ 2つのバイトを割り当てます。 –

答えて

1

TEXTデータ型は、彼らが格納できる値の最大長さが異なる4種類のサイズ * TINYTEXT * TEXT * MEDIUMTEXT * LONGTEXT

に入っています。すべて可変長タイプなので、個々の値には値の長さ(文字数)に等しい記憶領域と、値の長さを記録するための1〜4バイトが必要です。末尾のスペースは、格納または取り出しのために削除または追加されません。

可変長(VARCHAR、TEXT)列の場合、MySQLは格納されている値ごとに必要な量の領域のみを割り当てます。テキストデータ型Number of characters + 2 bytesとtext`列 `の場合には65,535文字