none
网站访问量大后,产生死锁问题. RRS feed

  • 问题

  • 当用户点击一个按钮后,该按钮执行的事件中需要修改多张表(使用存储过程+事务),时间长了后,

    报错"事务(进程 ID 59)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务.",请问这怎么解决.

    各位高手救救我.

    2010年11月26日 4:52

答案

  • 你好:

    最好就是不要写太多表的操作在同一个存储过程中。尽量保证执行的便捷。另外提高数据库的执行效率。优化数据库的结构。避免该类操作的次数。


    I am here!
    2010年11月29日 2:46
    版主
  • 产生死锁的原因很多,可能数据库结构设计不合理,建议可以先了解数据库锁机制;同时可以借助 sqlserver profiler 进行优化。

    2010年11月29日 6:43

全部回复

  • 你好:

    最好就是不要写太多表的操作在同一个存储过程中。尽量保证执行的便捷。另外提高数据库的执行效率。优化数据库的结构。避免该类操作的次数。


    I am here!
    2010年11月29日 2:46
    版主
  • 产生死锁的原因很多,可能数据库结构设计不合理,建议可以先了解数据库锁机制;同时可以借助 sqlserver profiler 进行优化。

    2010年11月29日 6:43