优化sybase SQL查询

时间:2011-06-07 16:40:04

标签: tsql sybase-ase

有没有办法优化以下查询:

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)。

1 个答案:

答案 0 :(得分:0)

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

记住下面需要延期更新的要点

  • 使用自我加入的更新

  • 用于自我引用完整性的列的更新

  • 更新相关子查询中引用的表

谢谢..