实战解决sql server数据库死锁案例以及sql server死锁Deadlock的一些总结
1、对于频繁更新的表创建聚集索引一定要谨慎,容易导致死锁。
2、一个表只能创建一个聚集索引,所以对于自动增长的ID主键,最好是不要创建为聚集索引,而把创建聚集索引的机会留给将来更有用的字段。
创建列可以这样:
- ID int idenity(1,1) primary key nonclustered
3、由于导致死锁的原因很多,所以死锁的解决方法不尽相同,首先我们必须明确死锁发生的地方,例如进程为了争夺哪类资源导致死锁的,这时我们可以考虑使用Profiler工具进行跟踪查询;在清楚死锁发生的地方后,我们要检查一下查询是否考虑周到了,可以根据以上的方法优化查询语句。对于数据库的问题合理适时使用 Sql Server Profiler监控sql有时候能够达到事半功倍的效果。