1. ホーム
  2. database

[解決済み] VARCHAR(255) が(他の長さではなく)頻繁に使用されているのを見るのは、何か理由があるのでしょうか?

2022-04-19 12:58:07

質問

複数のコース、書籍、仕事において、テキストフィールドがVARCHAR(255)として定義されているのを見かけました。 255という長さが頻繁に選択されるのには、以下の理由以外に何か良い理由があるのでしょうか? ちょうどいい丸い数 ? 過去に正当な理由があった時の名残りでしょうか(それが現在に当てはまるかどうかは別として)。

もちろん、文字列の最大長がなんとなくわかっているのであれば、制限を厳しくした方が理想的であることは承知しています。 しかし、VARCHAR(255)を使用しているということは、おそらく最大長はわからないが、quot;shortish"文字列であることだけはわかるということでしょう。


追記:こんな質問を見つけました( varchar(255) v tinyblob v tinytext ) によると、VARCHAR( n が必要です。 n のストレージを+1バイト。 n <=255です。 n のストレージを+2バイト。 n >255です。 これだけの理由でしょうか? VARCHAR(256)と比べて2バイトしか節約できないのに、VARCHAR(253)と宣言することで簡単にもう2バイト節約できるのですから、ちょっと恣意的に見えますね。

解決方法は?

歴史的に、255文字が最大長であることが多い VARCHAR UTF-8を使用し、カラムにインデックスを付けたい場合(インデックス長の制限のため)、この値が有効な最大値となることがあります。