2011-06-07 46 views
2

有没有办法来优化以下查询:优化SYBASE SQL查询

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

检查查询计划,它必须使用延迟更新,这需要更长的时间来更新。 Michael建议的查询应该表现更好。使用自连接

  • 更新用于自参照完整性

  • 更新中引用的表列

    rememeber低于点,这需要延迟更新

    • 更新相关子查询

    谢谢..