|
原帖由 spring1234 于 2008-4-11 20:03 发表 ![]()
当每隔一段时间出现一次dead lock,过一段时间又消失了。可能是由于在执行一个SQL的时间过长,从而长时间的持有锁。所以可以通过优化该sql,使其快速执行完毕,即可释放锁。问题即可解决。解决方法就是在合适的字段上创建索引了,该表应该比较大吧。
不好意思,这个帖子发错了。导致死锁的原因目前只能是由于设计的问题。我也是看来前面一位网友的留言才认为添加索引以提高sql的执行效率,尽快地释放TX锁。但此处是死锁,只能是设计问题,想必大家都清楚形成死锁的原因,仔细推敲便知和sql的执行效率无关。
同时,从那位网友那儿也得到些启发。 当update 时,对该表添加排他锁,如果不及早释放,便会非常影响系统的并发性,所以对于update的执行要特别注意效率,。 |
|