最大 20,000 人以上の学生プロファイルを持つデータベースを作成する決定を下しています。各学生プロファイルには 120 以上のプロパティがあります。
DOTNETNUKE CMS のような多くのエンタープライズ プロジェクトでは、使用されるメソッドは 2 つのテーブルで、1 つは UserProfile です。
[ProfileID],[UserID],[PropertyDefinitionID],[PropertyValue]
そしてもう一つは: ProfilePropertyDefinition
[PropertyDefinitionID],[DataType] ,[PropertyCategory],[PropertyName]
この方法を使用すると、20,000 x 120 = 240 万行になります。
これが正規化されたデータベースを持つ正しい方法であることはわかっています。データベース サーバーは何百万ものレコードを処理するように作成されていますが、120 列 + 十分なバックアップ列を持つプロファイル テーブルを 1 つ作成しないのはなぜでしょうか。拡張性のため?パフォーマンスが重要な場合、それは良いことよりも悪いことですか?