高并发数据库应用程序

时间:2015-08-30 14:53:31

标签: sql-server concurrency transactions isolation-level sqlclient

我创建了一个基于窗口的应用程序(C#),它连接到SQL Server(使用SQL客户端)。有许多用户同时使用此应用程序。

我有一个显示父子表的表单/屏幕。当用户在此屏幕上单击“保存”时,我将以未提交读取模式启动事务(使用BeginTransaction(IsolationLevel.ReadUncommitted))。我使用此模式是因为我希望其他用户在此事务运行时可以读取这些表。

我遇到的问题是,有时这个“子”表很大(> 10.000行),那么上面的交易很难完成。那时这两个表(父子)被锁定而另一个用户无法访问它们。

我想要的是允许其他用户正常访问这些表,因为实际上他们正在处理另一个记录ID,所以没有冲突。

有人可以帮我吗?

0 个答案:

没有答案