下面的语句耗时 0.063 sec,0 行
SELECT C.*
FROM tbl_receivedetail C,tbl_settlementbalance A,tbl_receiveheader B
WHERE A.LoadId=B.LoadId
AND B.ReceiveId=C.ReceiveId
AND A.BalanceStatus=1
AND B.BalanceStatus=1
AND B.confirm = 1
AND B.WarehouseId=1
AND A.BackupSign=0;
但是下面的语句只是把select 改为 delete,耗时3分钟,三个表的数据都不超过1000行记录,请问问题出在那里?
DELETE C
FROM tbl_receivedetail C,tbl_settlementbalance A,tbl_receiveheader B
WHERE A.LoadId=B.LoadId
AND B.ReceiveId=C.ReceiveId
AND A.BalanceStatus=1
AND B.BalanceStatus=1
AND B.confirm = 1
AND B.WarehouseId=1
AND A.BackupSign=0;
幕南风 发表于 2013-10-26 09:20
set profiling=1
show profiles
show profile cpu,block io for query id;
原因是:Sending data=144.561267
但问题是问什么select的时候很快,delete就这么慢。而且有不是每次都这样,连续执行几次delete后速度又很快的。