私たちの Web サイトのセクションでは、ユーザーに自分自身 (「プロファイル」) に関する 20 の多肢選択式の質問をするよう求めています。Web サイトのこの部分は頻繁に表示され、ときどき更新されます。この Web サイトでは大量のトラフィックが発生することが予想されるため、パフォーマンスの問題に備えて準備することを検討しています。
これをDBに保存するために私が見ることができる3つの方法は次のとおりです。
質問ごとに 1 つのテーブルを作成します。各テーブルには QuestionID と Answer があり、次にプロファイル データを格納する CustomerInfo テーブルがあり、外部キーが質問にマップされています。
Question、Question_Type、および Answers テーブル。これらの構造にすべてを詰め込みます。ここでの私の懸念は、特にプロファイルを更新するために必要な 20 ほどの挿入です。これは、トラフィック量が多い場合にパフォーマンスに影響を与えますか?
非正規化された単一のテーブル、質問ごとに 1 つのフィールド、HTML や C# オブジェクトに回答コードをハードコーディングします。
私は#2または#3に傾いています。最善の解決策は何だと思いますか?