SQL Server 2005 死锁解决探索

     客户的系统并发量一大,数据库经常就死锁,牺牲掉另一个进程,数据就不准,经常造成数据不一致。给客户带来很大不便,公司专门成立了项目小组来优化数据库和修改程序。
   一开始,我提出通用的解决办法:如;
      1,降低事务隔离级别
      2,在方法上使用同步策略
      3,减少事务的执行长度

    但接触系统代码和表设计,代码逻辑后,只是根据这些经验来解决死锁,这没那么简单。因为一个方法里就包含了查询,计算,更新多张表,插入表数据,还有是都是批处理数据,一次要处理几十行数据,而且是多并发时死锁可能性很大。

   目前有个初步的解决思路:
  
       1,对表进行拆分重构,减少数据量
       2,对Spring事务重新配置,代码重新审查一遍。
    
  在加上上面的,公司给了3个月的时间完成优化过程,在这优化过程会把解决办法记录下来。

  相信自己一定可以把死锁减少到最低程度。

  
posted @ 2008-04-01 22:50  zping  阅读(2059)  评论(1编辑  收藏  举报