2011-06-07 70 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低於點,這需要延遲更新

    • 更新相關子查詢

    謝謝..