总感觉操作有些慢,但不知道问题到底在哪?今天无意中看到控制台打印的sql执行日志中,有一个特别显眼的数据,其他的执行时间都是2ms,而这个却高达1300ms,一看是条删除的sql,而且还嵌套了子查询,感觉问题应该就在这里:
DELETE
FROM
tw_material_need
WHERE
DISPATCH_ORDER_NO IN (
SELECT
WORK_CODE
FROM
taps_work
WHERE
WORK_ORDER_CODE = 'ZZ88005'
)
我就试着把子查询换成内连接:
delete m
FROM
tw_material_need as m
INNER JOIN taps_work as k
WHERE
m.dispatch_order_no = k.work_code
AND k.work_order_code = 'ZZ88001'
果然,重新启动再次执行后控制台打印的执行时间只有2ms,效果立竿见影,以前总觉得系统优化是大佬们做的事,现在回过头来想想,原来那只不过是自己逃避责任的借口,不是因为你是大佬你才能做这些事情,而是因为你的责任心,精益求精的精神驱动自己自觉做了这些事情之后慢慢成长为大佬,一次意外的发现,一次试着的操作,一次迟来的醒悟!