![]() |
1
3
我建议像上面那样运行select(不带top 10子句),将要更新的记录的ID(假定ID已编入索引)提取到临时临时临时表中。您的select将扫描整个表,但这比在update语句中扫描要好。如果你能利用 Read Committed Snapshot Isolation, 这对于并发性来说会更好。如果需要使用循环方法(即反复检查一小组记录),请使用ID(或某些可查找的列)作为主筛选,以获取要匹配模式的记录块,并继续执行,直到完成。例如:
然后继续迭代,直到达到所有ID范围。 然后,一旦您有了要更新的ID,就可以针对这些ID运行更新。 正如dmitry所说,前10个选项仍将扫描整个表 for this type of query 所以这只会让你慢下来。一旦您拥有了ID,或者一些可以使查询看起来像是的东西,那么您就可以包含一个top x子句来减少并发性的影响,但是只有当您有大量的记录要影响时,这才可能有意义。 |
![]() |
2
2
你试过吗? full text indexing ? |
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |