愁愁愁!!!select怎么会造成无关表阻塞?
有这样三个进程造成阻塞:
51 SELECT sys_dd_new.att_number ,sys_dd_new.no_gwj , sys_dd_new.chk_sig ,sys_dd_new.chk_state ,sys_dd_new.chk_jcx , sys_dd_new.chk_jc ,sys_dd_new.var_parm ,sys_dd_new.chk_wj ,
52 SELECT fjtz_xs.sys_grade , fjtz_xs.chr_dydm , fjtz_xs.var_dynr ,fjtz_xs.var_dynr2 ,fjtz_xs.var_dynr3 ,fjtz_xs.fjbz FROM fjtz_xs WHERE ( fjtz_xs.sys_grade = 80728 )
57 update car_sign SET chk_state = '4 ' WHERE car_sign.Sys_Grade =80841
其中52阻塞57,57阻塞51.
1.select 怎么会造成阻塞呢?
2.它怎么会造成其它表的阻塞呢?
望各位大哥赐教!小弟万分感谢!!
------解决方案--------------------如果没有相关的update触发器,是不可能的
------解决方案--------------------fjtz_xs.sys_grade和car_sign.Sys_Grade是什么关系,是不是主键和外键的关系?
------解决方案--------------------那你在两个表中对fjtz_xs.sys_grade和car_sign.Sys_Grade设置主外键关系了吗
------解决方案--------------------那么car_sign上有针对update的触发器吗
------解决方案--------------------是不是这个触发器试图去修改fjtz_xs表,而fjtz_xs正在被51进程查询,所以阻塞了
------解决方案--------------------fjtz_xs.sys_grade和car_sign.Sys_Grade是什么关系
------解决方案--------------------那你用sp_lock看看与这三个进程相关的锁定信息吧,然后把它贴出来