我为一些使用访问权限的学生做了一个小测验。我拆分了数据库。学生将有12个终端参加测验。我将前端放在每个端子上,后端存储在连接到所有端子的网络驱动器上。现在,测验应该选择20个随机选择题。查询没问题。只是当学生从他们自己的终端开始他们自己的数据库会话时,他们最终都会得到相同的随机问题。这打败了测验的目的,因为他们都可以看到他们的肩膀。我不知道为什么会这样。在我看来,数据库已经保存了随机问题查询的结果,并且不是每次都应该执行查询。此外,由于某种原因,数据库现在非常慢。在我看来它正在拉扯内存。我该怎么办?
以下是查询:
SELECT TOP 20 MCQuestionsT.QuestionID, MCQuestionsT.QuestionText, MCQuestionsT.QuestionImage, MCQuestionsT.ChoiceA, MCQuestionsT.ChoiceB, MCQuestionsT.ChoiceC, MCQuestionsT.ChoiceD, MCQuestionsT.ChoiceE
FROM MCQuestionsT
WHERE (((MCQuestionsT.CourseCode)="2323"))
ORDER BY Rnd(MCQuestionsT.QuestionID);
答案 0 :(得分:1)
你必须进一步推出随机生成器:
SELECT TOP 20
MCQuestionsT.QuestionID, MCQuestionsT.QuestionText, MCQuestionsT.QuestionImage, MCQuestionsT.ChoiceA, MCQuestionsT.ChoiceB, MCQuestionsT.ChoiceC, MCQuestionsT.ChoiceD, MCQuestionsT.ChoiceE
FROM
MCQuestionsT
WHERE
CourseCode="2323"
ORDER BY
Rnd(-Timer()*[QuestionID]);