实体框架 - 死锁和事务级别

时间:2015-04-02 01:51:22

标签: c# sql-server asp.net-mvc entity-framework

我在SQL Server上使用实体框架有一个.Net MVC应用程序。

我有一个场景,我有一个项目列表,当我点击其中一个项目时,详细信息打开。在此操作中,我还执行更新以增加该项目的视图数量。

我正在进行负载测试,我想出了一个问题: System.Data.SqlClient.SqlException:事务(进程ID 69)在锁资源上与另一个进程死锁,并被选为死锁牺牲品。重新运行该交易。

我做了一些测试,并注意到如果我删除更新,问题就会发生。

在网上看到我发现了许多建议,而且对我有用的是执行以下命令:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

唯一的问题是,在此修改之后,我的查询开始运行得很慢。以前我的页面在大约500毫秒内打开。在此修改后,此数字增加到3,4秒。

有什么想法吗?我喜欢解决死锁问题,但不想放松一般的性能。

提前致谢

0 个答案:

没有答案
相关问题