列に必要な正確なデータ型を使用すると、パフォーマンス上のメリットはありますか?それともストレージ最適化ですか?正しいデータ型を使用するとパフォーマンスが向上します
たとえば、私はusersテーブルを作成しており、合計で200人のユーザーしか存在しないことを確信しています。選択/更新/挿入/削除を行うサーバーのデータを操作しているときに、TINYINT - UN
をusers_id列に使用するか、またはINT
を使用するかのパフォーマンスに違いはありますか?
同じことがユーザーの名前に適用されます。私は、今のところ、最長の名前の長さのユーザーが48だと知っていますが、将来65文字の名前の新しいユーザーがテーブルに挿入されないかどうかはわかりません。現在のところ、必要な長さだけを予約する場合は、VARCHAR(48)
を使用してパフォーマンス上のメリットはありますか、新しいユーザーごとに列の許容長を常に確認しなくてもかまいませんか?VARCHAR(255)
?
行の幅が狭い - >メモリに多くの行を収めることができます - >パフォーマンスが向上します –
私はあなたの質問について少し混乱しています!最初に、正確なデータ型(可変長のものとは対照的)を使用するとパフォーマンス上の利点があるかどうかを尋ねると、tinyintまたはint(固定長データ型)またはvarchar(48)またはvarchar(255)(どちらも可変長データ型です)。第1の質問は理にかなっています.2番目の質問はありません。なぜなら、10億人を超えるユーザーを抱えているか、255文字までの名前を許可するかは、あなた次第です。 – Shadow
@JoeStefanelliこれは必ずしも真実ではありません。 – Shadow