たとえば、varcharデータ型では、ユーザー名の最大文字数を25にすることができます。これは、最適な列がvarchar(25)
であることを意味しますか?データ型の適切なサイズを選択しますか?
EDIT:それはまた、文字列の長さ=文字列のサイズを意味するのでしょうか?
たとえば、varcharデータ型では、ユーザー名の最大文字数を25にすることができます。これは、最適な列がvarchar(25)
であることを意味しますか?データ型の適切なサイズを選択しますか?
EDIT:それはまた、文字列の長さ=文字列のサイズを意味するのでしょうか?
MySQLのVARCHARカラムのサイズは実際にはそれほど重要ではありません!ほとんどの(すべての)ストレージエンジンでは、列のサイズがVARCHAR(255)
になるにつれて、各行に必要なストレージの量はであり、は増加しません。 VARCHAR(256)
以上を使用すると、行ごとに1つの余分なバイトが使用されますが、まだそれほど多くはありません。 (その時点では、とにかくTEXT
カラムを使用することを考えてみてください。)
このように、あなたのカラムのサイズを十分に考慮してください。技術的でない制限(ユーザー名の25文字の制限など)をデータベースにハードコードしないようにしてください。後で考え直す場合、検証コードを変更するよりも潜在的に非常に大きなテーブルを変更する方が簡単です。例えば、ユーザー名の場合、将来の拡張を可能にするために、カラムサイズをVARCHAR(64)
のような中程度のばかげたものに設定するだけです。同じ "データタイプ"(ユーザー名など)がデータベースの他の場所に表示されている場合は、一貫して同じ大きさの同じサイズを使用するようにしてください。
またはいずれかの方法でchar(25)。しかし、varchar(25)はうまく聞こえます。
私はあなたにdownvoteをしませんでしたが、正確に25文字ではない場合、charには余分なスペースを追加しませんか? – Michelle
はい、しかしvarcharを使うと、すべてのエントリにバイトが追加されるので、そのトレードオフ – ControlAltDel
'CHAR()'を使うと、ディスクに余分なスペースを使うだけでなく、入力に*リテラル*スペース文字を追加することができます。 – duskwuff
ユニコードユーザ名をサポートしたい場合は、 'nvarchar' ... –