【发布时间】:2020-03-27 02:46:44
【问题描述】:
我平时用的是:
UPDATE table1 SET field1='test' WHERE ID=10
但是使用以下语句会更有效吗:
UPDATE TOP (1) table1 SET field1='test' WHERE ID=10
如果我有很多记录?
ID 列是主键,也是自动递增的。
【问题讨论】:
-
在
UPDATE中使用TOP是一项已弃用的功能。不用担心性能(如果ID被索引,在任何情况下都不会出现性能问题,在您的情况下就是这样),只是不要使用它。 -
如果列是主键,SQL Server“知道”只有零个或一个匹配键,不会导致表扫描。您应该能够在查询计划中看到这一点。
标签: sql-server