200文字のVARCHARがあり、100文字の文字列を配置する場合、200バイトを使用するのでしょうか、それとも文字列の実際のサイズを使用するのでしょうか?
100文字。
これはvarchar
のvar(変数)です:入力したものだけを保存します(さらに65535までの長さを保存するために2バイトを追加します) )
char(200)
の場合、常に200文字を格納し、100個のスペースを埋めます
ドキュメントを参照してください: "CHARおよびVARCHARタイプ"
VARCHARは可変長文字であることを意味するため、必要なだけのスペースを使用します。しかし、基礎となる構造について何か知っている場合は、VARCHARを最大量に制限するのが理にかなっているかもしれません。
たとえば、ユーザーからのコメントを保存している場合、コメントフィールドを4000文字のみに制限できます。その場合、SQLテーブルにVARCHAR(4000)よりも大きいフィールドを持たせることは実際には意味がありません。
実際には、101バイトかかります。