前些日子,有位网友发布系统总是出现dead lock,从而人们都会对数据库的设计提出质疑,都意识到了是sql的并发,但很少人意识到这是劣质失去了引起的。
当每隔一段时间出现一次dead lock,过一段时间又消失了。可能是由于在执行一个SQL的时间过长,从而长时间的持有锁。所以可以通过优化该sql,使其快速执行完毕,即可释放锁。问题即可解决。
问题sql如下:
UPDATE SFISM4.R_WIP_TRACKING_T SET QA_RESULT = '0', GROUP_NAME = 'P-OQC' ,STATION_NAME = 'P-OQC1', IN_STATION_TIME = SYSDATE, EMP_NO ='061023', NEXT_STATION = 'N/A' where QA_NO ='20080326-L-0007' AND (NEXT_STATION='N/A' or NEXT_STATION='P-OQC')
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12742547/viewspace-234530/ ,如需转载,请注明出处,否则将追究法律责任。