我正在处理的应用程序必须处理大量需要更新数据库上的某些数据的ajax请求。防止ColdFusion中DB死锁的解决方案?
[Macromedia] [SQLServer JDBC驱动程序] [SQLServer]事务(进程ID 66)在lock |通信缓冲区资源与另一个进程 并被选为死锁受害者。重新运行 交易。
对于读取,我已经使用了WITH (NOLOCK)
提示,并且在读取时防止了很多死锁。
我能做些什么来更好地处理写入?
CFLock CF中的更新代码?
或者有没有办法让SQL Server锁定一个行而不是一个表?
有没有人尝试过实施CQRS?似乎解决了问题,但我不能就如何处理清楚:
- ID代(现在它采用自动递增的DB)
- 如何处理更新请求,如果服务器无法发送失败马上回到客户端。
感谢
我假设你正在使用,因为标签的Microsoft SQL Server。你知道插入的表是否有聚簇索引? –
@ScottJibben唯一的聚集索引将是PK。 – Henry
即可。我发现没有聚集索引的大表会慢慢地慢慢插入。 –