[英]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.