2010-05-17 69 views
1

我想提高這個更新查詢的性能,因爲當它需要大量的時間來執行:如何提高sql中更新查詢的性能?

Qry = "update tab1 set cDate=GetDate() where right('000000000000'+in_num,12)='" 
& InvNo.PadLeft(12, "0") & "' and (Total-Amount)<>Balance and cDate is null" 
+1

請,今後,使用「101 010」按鈕,代碼行... – mosg 2010-05-17 13:17:06

回答

1

你爲什麼要強制填充in_numInvNo與領先的0與:

right('000000000000'+in_num,12) = InvNo.PadLeft(12, "0") 

這將防止使用in_num上的任何索引。

+0

正是我要問嗎? 而且,CDATE索引? – AngerClown 2010-05-17 13:28:44

0

你沒有提到你正在使用的數據庫,但如果它支持計算列,那麼你可以通過填充的行,然後你就可以創建索引在創建計算列提高了查詢速度。

當然,這是假設你不能用簡單的整數類型的發票號。如果你可以直接使用in_no,那麼確保你在該列上有一個索引。