C# 新的非聚集索引抛出死锁

C# 新的非聚集索引抛出死锁,c#,sql-server,asp.net-mvc,sql-server-2012,deadlock,C#,Sql Server,Asp.net Mvc,Sql Server 2012,Deadlock,我有一个带有实体框架的mvc应用程序。最近,MSSQL服务器建议我在外键表中创建一个新的非聚集索引,并包含一个日期列 由于性能问题,我决定创建它 创建索引时,将“允许页面”块和“允许行”块设置为“开” 性能明显提高了,但我现在有很多死锁 论坛建议我将其从非聚集型转换为聚集型,但我不能“因为索引不能”包含“日期列” 还有其他建议吗 您应该分析死锁发生的原因,而不是抛出索引。此表是否经常更新或选择?在添加索引之前,我没有死锁。是的,该表有许多读/写操作。它是我的appA聚集索引的基表,已经包含了所有

我有一个带有实体框架的mvc应用程序。最近,MSSQL服务器建议我在外键表中创建一个新的非聚集索引,并包含一个日期列

由于性能问题,我决定创建它

创建索引时,将“允许页面”块和“允许行”块设置为“开”

性能明显提高了,但我现在有很多死锁

论坛建议我将其从非聚集型转换为聚集型,但我不能“因为索引不能”包含“日期列”


还有其他建议吗

您应该分析死锁发生的原因,而不是抛出索引。此表是否经常更新或选择?在添加索引之前,我没有死锁。是的,该表有许多读/写操作。它是我的appA聚集索引的基表,已经包含了所有的列(从某种意义上说)。如果您对数据进行排序或在某个范围内搜索,则聚集索引确实很有帮助。你将需要提供更多的信息,以帮助任何人。你的问题中没有细节。有多少张唱片?只是应用程序的一部分导致了死锁吗?这个应用程序做什么?也许有更好的方法做事情。也许你在应用层做的工作应该在数据库中完成。链接你从中获得这些信息的论坛也会很有帮助。诚然,我很惊讶你在PK上有聚集索引之前在FK上添加了索引?(自然或身份)