[英]how to improve performance of update query in 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"
為什么用以下InvNo
用前導0強制填充in_num
和InvNo
:
right('000000000000'+in_num,12) = InvNo.PadLeft(12, "0")
這將防止使用in_num
上的任何索引。
您沒有提到正在使用哪個數據庫,但是如果它支持計算列,則可以通過為填充行創建計算列來提高查詢速度,然后可以在其上創建索引。
當然,這是假設您不能為發票編號使用簡單的整數類型。 如果可以按原樣使用in_no,請確保在該列上有一個索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.