0

私は、質問のリストを含むマスターと、回答のリストを含む詳細の2つのクラスを持っています。各質問には、1 つまたは複数の回答を含めることができます。

私には 2 つの選択肢があります。どちらが最適かについて意見を求めたいと思います。

  1. 質問データを質問テーブルに保存します。回答を取得し、これらの JSON 文字列を作成して、質問テーブルのフィールドに追加します。データがテーブルから取得されると、JSON 文字列を変換して、回答のリストを含むオブジェクトに戻すことができます。
  2. 質問データを Question テーブルに格納し、回答データを Answers テーブルの複数行に格納します。

と:

  1. Question テーブルの 1 回のデータベース ルックアップですべてを取得できます。
  2. 質問データの 1 つのデータベース ルックアップと回答の複数のルックアップ

(1)の方が早く、(2)の方が扱いやすいと思います。

2 番目の方法 (2) では、質問テーブルからデータを取得し、次に回答テーブルからデータを複数回取得する必要があります。SQL サーバーでは、テーブルから主キーでデータを取得するのに約 10 ミリ秒かかると想定するのは合理的ですか? 回答テーブルからデータを取得してから、追加の各行からデータを取得するのはどうですか。どれくらいの時間がかかるかわかりませんが、アドバイスをいただければ幸いです。

4

1 に答える 1

1

SQL Join ステートメントを使用するだけで、対応するすべての回答とともに質問を取得できます。

Select * from Questions inner join Answers on Questions.ID = Answers.QuestionID

例を挙げるだけです。

于 2013-06-24T08:47:21.423 に答える