繁体   English   中英

如何提高SQL更新查询的性能?

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

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

这将防止使用in_num上的任何索引。

您没有提到正在使用哪个数据库,但是如果它支持计算列,则可以通过为填充行创建计算列来提高查询速度,然后可以在其上创建索引。

当然,这是假设您不能为发票编号使用简单的整数类型。 如果可以按原样使用in_no,请确保在该列上有一个索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM