繁体   English   中英

多个SQL更新语句

[英]Multiple SQL Update Statements

我有成千上万的SQL更新语句需要在大型表上执行。 更新语句需要花费几分钟的时间来执行,如果可能的话,我需要以更有效的方式运行它们,以加快更新速度。

有哪些选择可以使这些更新更快?

在SQL Server 2008 R2上运行

一个这样的查询:

UPDATE myTable 
SET Col1 = 'abc', Col2 = 123, Col3 = '2015-01-01 00:00:00.000' 
WHERE ID = 123456

DBMS系统针对批量操作进行了优化,而不是像这样一次更新一行。

为了总体上加快更新速度,请检查是否有任何触发器可能不必要地在更新时运行,或者是否有很多不必要的索引在行值更新时进行更新。

是否有可能预先计算出数据库端的新值,例如,它们是基于计算还是另一个表,这些值可以在数据库端进行批量计算? 一个进行某种转换的更新语句比单独更新行要好得多。

如果这是用户或程序正在更新值,那么您将无法知道新值将是什么,请考虑重新设计前端以缓存值,以便以后可以批量更新数据库。

暂无
暂无

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

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