[解決済み] 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を使用し、カラムにインデックスを付けたい場合(インデックス長の制限のため)、この値が有効な最大値となることがあります。
関連
-
Hibernateでhibernate.propertiesが見つからない問題とデータベース方言の更新の問題
-
IEntityChangeTracker の複数のインスタンスからエンティティオブジェクトを参照できない場合の対処法
-
は、GROUP BY句に含まれるか、集約関数で使用される必要があります。
-
mysql import error [Err] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'.
-
AttributeError: 'function' オブジェクトには 'cursor' という属性がありません。
-
MySQLの基本的な使い方 (I)
-
mysqlのエラーです。1406, データが長すぎてカラムに入りません
-
[解決済み] ファイル拡張子.DB - 正確にはどのようなデータベースなのですか?
-
[解決済み] パスワードをデータベースに保存する最適な方法【終了しました
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
2021MySql-8.0.26インストール詳細チュートリアル(ベビーシッターレベル)
-
ERROR 1046 (3D000)の解決策です。MySQLでアカウント削除時にデータベースが選択されない問題
-
アプリケーションから DB2 SQL Error が報告され続けます。SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null, DRIVER=4.17.29
-
pymongo.errors.OperationFailure:オーバーフローソートステージのバッファリングデータの使用量が内部制限を超える
-
DB2におけるNULLおよびNULL処理
-
DB2におけるROW_NUMBER() OVER()関数の使用法
-
ORA-01034 を解決する: ORACLE は利用できません ORA-27101: 共有メモリ領域が存在しない
-
[解決済み] DynamoDBから大量のアイテムを削除したいのですが、おすすめの方法はありますか?
-
[解決済み] 全レコードを返すElasticsearchクエリ
-
[解決済み】なぜ歴史的に人々はデータベースのフィールドの大きさに256ではなく255を使うのですか?