我的查询时间太长。
我们要删除在特定日期之前创建的订单及其头寸。看来,ERP制造商有时会从ISAM切换到MySQL,并一直使用位置链接。
以下字段是相关的:
`Order`.`Date`, `Order`.`StartPositionsID`, `Position`.`Id`, `Position`.`ChainGuid`
这是我的查询
DELETE `Position`
FROM `Order`
LEFT JOIN
(`Position` AS `Position_2`
INNER JOIN `Position`
ON `Position_2`.`ChainGuid` = `Position`.`ChainGuid`)
ON `Order`.`StartPositionsID` = `Position_2`.`ID`
WHERE `Order`.`Date` < Date('2014-10-01');
Order
具有ID
中的一个Position
,并且属于该Position
的每个Order
共享相同的ChainGuid
。>
是否有更理想的删除不需要的职位的方法?
有〜100.000个订单和〜1.700.000个头寸,根据Handler_read_rnd_next,sql server每秒大约处理140.000行。我是否认为正确,大约需要15天才能完成?