从SQL Server表中检索其他行时是否有额外的开销

时间:2013-06-24 08:42:00

标签: sql-server

我有两个班级,一个大师,一系列问题和详细信息以及一系列答案。每个问题都可以有一个或多个答案。

我有两个选择,我希望得到一些关于哪一个最好的意见:

  1. 将问题数据存储在问题表中。获取答案,创建一个JSON字符串 其中并将这些添加到问题表中的字段。检索数据时 从表中我可以将JSON字符串转换回包含a的对象 答案清单。
  2. 将问题数据存储在问题表中,将答案数据存储在多行中 答案表。
  3. 使用:

    1. 可以使用一个数据库查询问题表来检索所有内容
    2. 一个数据库查找问题数据和多个查找答案
    3. 我认为(1)会更快,(2)更容易管理。

      第二种方法(2)需要从Question表中检索数据,然后从答案表中多次检索数据。使用SQL服务器假设主键从表中获取数据大约需要10ms是合理的吗?如何从答案表中获取数据,然后从每个附加行中获取数据。我只是不知道可能涉及多长时间,并希望得到任何建议。

1 个答案:

答案 0 :(得分:1)

您可以简单地使用SQL Join语句来检索问题以及所有相应的答案。

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

举一个例子。