たとえば、varchar データ型では、ユーザー名を最大 25 文字まで許可しています。これは、最適な列がvarchar(25)
.
EDIT:文字列の長さ=文字列のサイズという意味ですか?
MySQL の VARCHAR カラムのサイズは、実際にはそれほど重要ではありません! ほとんどの (すべて?) ストレージ エンジンでは、各行に必要なストレージの量は、列のサイズが最大VARCHAR(255)
. aVARCHAR(256)
以上を使用すると、行ごとに 1 バイト余分に使用されますが、それでも多くはありません。TEXT
(その時点で、とにかく列の使用について考えたいと思うかもしれません。)
そのため、列のサイズには余裕を持たせてください。技術的でない制限 (ユーザー名の 25 文字の制限など) をデータベースにハードコーディングすることは避けてください。後で気が変わった場合は、潜在的に非常に大きなテーブルを変更するよりも、検証コードを変更する方がはるかに簡単です。たとえば、ユーザー名の場合、列のサイズを中程度のばかげたものに設定してVARCHAR(64)
、将来の拡張を可能にします. 同じ「データ型」(ユーザー名など)がデータベースの他の場所にある場合は、同じ寛大なサイズを一貫して使用するようにしてください。
または、どちらの方法でもchar(25)だけです。しかし、varchar(25)は問題ないようです。