web-dev-qa-db-ja.com

MySQL VARCHARサイズ?

200文字のVARCHARがあり、100文字の文字列を配置する場合、200バイトを使用するのでしょうか、それとも文字列の実際のサイズを使用するのでしょうか?

60
SBSTP

100文字。

これはvarcharvar(変数)です:入力したものだけを保存します(さらに65535までの長さを保存するために2バイトを追加します) )

char(200)の場合、常に200文字を格納し、100個のスペースを埋めます

ドキュメントを参照してください: "CHARおよびVARCHARタイプ"

87
gbn

VARCHARは可変長文字であることを意味するため、必要なだけのスペースを使用します。しかし、基礎となる構造について何か知っている場合は、VARCHARを最大量に制限するのが理にかなっているかもしれません。

たとえば、ユーザーからのコメントを保存している場合、コメントフィールドを4000文字のみに制限できます。その場合、SQLテーブルにVARCHAR(4000)よりも大きいフィールドを持たせることは実際には意味がありません。

http://dev.mysql.com/doc/refman/5.0/en/char.html

12
dwmcc

実際には、101バイトかかります。

MySQLリファレンス

5
panoet