我正在Web应用程序,我想如Marks_Table表是所有可用的时间,这样即使一个老师上传的痕迹,学生不应该被阻止看到从该表自己的商标。如何执行事务以及不锁定表以便其他人执行更改?
回答
例如学生A的值为5,等级表中 现在,当学生A执行查询,他会看到5级
现在当老师忙于事务在该表上的学生得到来自任何结果他的查询,直到老师完成,因为他的交易锁定了表。
你想要的是该学生确实从他的查询获取resuls而老师在做交易,他只会看到一个值5,因为这是此表为他最后COMMITED值,对不对? 换句话说,学生可以击中F5,并会看到他们的旧值,直到教师提出新的值,这听起来像是一种正常的做事方式。
如果是的话,你可以试试这个:(只需要在你的数据库做一次)
ALTER DATABASE yourdatabase SET READ_COMMITTED_SNAPSHOT ON;
但也请记住,在你的数据库表上的所有交易应该保持尽可能短,这实际上可以避免这个问题。如果学生在刷新后不得不等待半秒钟才能显示结果,那么学生不会抱怨,如果他们必须等待几分钟,他们会投诉。
我使用TransactionScope对象来完成并执行事务,会自动解决我的问题吗? –
因为我已阅读,它使用序列化隔离级别 –
我不熟悉的TransactionScope对象,但因为这ALTER语句是改变你的数据库中读取记录的方式,我认为它会 – GuidoG
- 1. 如何执行不会锁定其他查询的更新?
- 2. 如何锁定表进行读取和写入,以便我可以执行SQL,然后再删除锁?
- 3. ActionEvent如何工作以及如何创建其对象以执行按下按钮时执行的任务?
- 4. 执行aync方法,以便
- 5. 在哪里执行onClickListener以及如何?
- 6. 如何锁定事务,直到单个查询完成其执行以避免发生死锁错误
- 7. 如何更改事件执行顺序?
- 8. Oracle Java - 如何锁定一行以便其他进程无法读取它?
- 9. 如何自动更新startDate和EndDate以便下次执行?
- 10. 运行Ajax以更改表的顺序后,我返回的表上的其他jQuery函数不会执行
- 11. javascript更改类不执行事件
- 12. SharedPreferences更改一个变量会影响其他人以及Android
- 13. 锁定SELECT以便其他进程不会获取旧数据
- 14. 如何在node.js中执行readable.pause(),以便不发出readable.on('end',function(){})?
- 15. 什么是用户定义函数以及如何执行?
- 16. Kerberos,代表团以及如何正确执行此操作?
- 17. 列表框以及如何对所选项目执行操作
- 18. 函数列表及其执行Erlang
- 19. 如何在执行其他事件时忽略事件?
- 20. InvalidOperationException在执行事务时执行SqlCommand
- 21. 如何执行以下SQL?
- 22. 在Windows锁定之前执行任务
- 23. 串行执行其他异步任务后执行异步任务
- 24. 代码执行期间缓存(或其他变量)是否可以更改?
- 25. 捆绑JRE以及可执行jar
- 26. php cron作业执行javascript以及
- 27. 如何锁定事务以读取行然后插入Hibernate?
- 28. 执行悲观锁定
- 29. 如何在线程之间传递事务以进行并行执行?
- 30. QT 5.8 Webview如何执行请求以及如何拦截它?
引用该表可以使用'与(NOLOCK)'查询提示(尽管这可能会导致数据不一致等问题)的查询。如果你只更新一行,那么开销可能很小。 –
将'WITH(NOLOCK)'添加到读取查询中? – TZHX
我加入多行 –