有没有办法优化以下查询:
UPDATE myTable
SET Calculation =
(SELECT MAX(Calculation)
FROM myTable T
WHERE T.Id = myTable.Id
AND T.Flag='N')
WHERE Calculation='NA'
AND Flag='Y'
myTable约有的地方400万行?实际上,第一个不是NULL将完成这项工作(SYBASE ASE 15.0.2)。
答案 0 :(得分:0)
检查查询计划,它必须使用延迟更新,这需要更长的时间来更新。 迈克尔建议的查询应该表现更好。
记住下面需要延期更新的要点
使用自我加入的更新
用于自我引用完整性的列的更新
更新相关子查询中引用的表
谢谢..