【发布时间】:2016-09-27 20:16:46
【问题描述】:
我在 SQL DB Server 中有一个表。 (表名称:材料,6 列)。它包含 260 万条记录。我需要根据两列值更新此表。对于更新,系统需要 2 秒。
请帮助我如何优化下面的查询。
UPDATE Material
SET Value = @Value,
Format = @Format,
SValue = @SValue,
CGroup = @CGroup
WHERE
SM = @SM
AND Characteristic = @Characteristic
【问题讨论】:
-
那么有什么问题,如果你百万数据,那么简单的逻辑它需要时间来更新? 2秒也不算多。您是否在 where 子句中使用索引列,如主键列。如果没有,那将带来好处。
-
您可以通过提供查询计划来提高获得有用答案的机会。
-
因为我会连续运行SQL查询命令。每天我需要运行 88000 次查询来更新或插入此表中的行。如果一个查询需要 2 秒,那么我每天不能运行 88000 个查询。请帮助我。 (致 Ajay2707)
-
@MuthukrishnanR 您可以将更改排队并分批运行它们,而不是一次运行一个吗?如果您可以将其减少到 88 次运行 1000 次更新(甚至 880 次运行 100 次更新),则可以完全避免问题。
-
你可以试试批量更新
标签: sql-server