我正在制作网络应用程序,我希望像Marks_Table这样的表一直可用,这样即使一位老师上传了标记,也不应阻止学生在这张桌子上看到他们的标记。
答案 0 :(得分:0)
例如,学生A在表格中的等级为5 现在,当学生A执行查询时,他将看到5年级
现在,当教师忙于这张桌子上的交易时,学生得不到他的查询结果,直到老师完成,因为他的交易锁定了桌子。
你想要的是,当老师正在进行交易时,学生确实从他的查询得到了结果,他只会看到一个值5,因为这是他在这张表中的最后一个提交值,对吗? 换句话说,学生可以点击F5并看到他们的旧价值,直到老师提交新的价值观,这听起来像是一种正常的做事方式。
如果是这样,您可以尝试:(只需在数据库中执行一次)
ALTER DATABASE yourdatabase SET READ_COMMITTED_SNAPSHOT ON;
但是请记住,数据库中表的所有事务都应尽可能短,这实际上首先避免了问题。没有学生会抱怨如果他需要等待半秒才能在刷新后显示结果,他们会抱怨他们是否需要等待几分钟。