假设您有一个包含大约500万条记录的表和一个nvarchar(max)填充了大量文本数据的列.您希望以尽可能最快的方式将此列设置为NULLif SomeOtherColumn = 1.
蛮力UPDATE在这里不能很好地工作,因为它将创建大型隐式事务并永远占用.
一次进行小批量50K记录的更新有效,但在32核/ 64GB服务器上完成仍需要47个小时.
有没有办法更快地完成此更新?是否有任何神奇的查询提示/表格选项牺牲其他东西(如并发)以换取速度?
注意:创建临时表或临时列不是一个选项,因为此nvarchar(max)列涉及大量数据,因此占用大量空间!
PS:是的,SomeOtherColumn已经编入索引.