如何从已知集中 SELECT 未知集?
How to SELECT the Unknown Set from a Known Set?
抱歉,如果我在标题中错误地陈述了问题。举个例子会更清楚:
假设我在数据库中有Users
、Topics
和Questions
table。每个用户首先选择一些 topics
,然后为每个主题设置 questions
的数量,算法从 Questions
中创建一个用户之前 未解决的考试。 那么问题来了:
SELECT
数据库中未解决问题的最佳方法是什么?
当然,我首先为 用户 使用 UserId
和 QuestionId
解决的问题创建了一个关联 table,但后来我想到了最好存储未解决的问题而不是已解决的问题,因为我需要SELECT
未解决的问题。
因为人口比较多,所以我用两个问题来总结一下这个问题:
- 如果我每次都使用
solvedQuestions
table 来检查一个问题是否已解决,是否会导致数据库过载?
- 如果我使用
unsolvedQuestions
table,是否可以为新用户插入所有未解决的问题? (后面的题多得吓死我了)
- 你有什么更好的设计吗?
我们将不胜感激。
(顺便说一句,如果我不这么认为的话,我会使用 Entitiy Framework 代码优先方法。)
我会像您描述的那样使用 SolvedQuestions
table,并使用 Not In()
逻辑来寻找未解决的问题。这样我就不必在每次添加用户时都创建一堆新记录。或者提问。
第一个问题中的 "an overload" 是什么意思?
抱歉,如果我在标题中错误地陈述了问题。举个例子会更清楚:
假设我在数据库中有Users
、Topics
和Questions
table。每个用户首先选择一些 topics
,然后为每个主题设置 questions
的数量,算法从 Questions
中创建一个用户之前 未解决的考试。 那么问题来了:
SELECT
数据库中未解决问题的最佳方法是什么?
当然,我首先为 用户 使用 UserId
和 QuestionId
解决的问题创建了一个关联 table,但后来我想到了最好存储未解决的问题而不是已解决的问题,因为我需要SELECT
未解决的问题。
因为人口比较多,所以我用两个问题来总结一下这个问题:
- 如果我每次都使用
solvedQuestions
table 来检查一个问题是否已解决,是否会导致数据库过载? - 如果我使用
unsolvedQuestions
table,是否可以为新用户插入所有未解决的问题? (后面的题多得吓死我了) - 你有什么更好的设计吗?
我们将不胜感激。
(顺便说一句,如果我不这么认为的话,我会使用 Entitiy Framework 代码优先方法。)
我会像您描述的那样使用 SolvedQuestions
table,并使用 Not In()
逻辑来寻找未解决的问题。这样我就不必在每次添加用户时都创建一堆新记录。或者提问。
第一个问题中的 "an overload" 是什么意思?