当此列没有索引时,有没有办法相对快速地更新SQL Server 2014中的大量记录,过滤nvarchar(x)
列?
EG。我想跑:
UPDATE Products
SET Active = 1
WHERE ProductBrand = 'brand name'
在我的Product
表上有数百万行,ProductBrand
上没有索引。
创建索引大约需要45分钟,我们希望更快地更新表格。
我们希望尽可能快地执行此操作,创建索引需要花费大量时间。如果除了使用索引之外还有其他方法,我就会徘徊。
(在名称列上创建索引并将其保留在那里当然是一种很好的做法,并且不时重建它)
答案 0 :(得分:0)
检查您的产品表,也许您有ProductBrandId的索引,如果没有,您可以创建一个具有相同结构的新tmpProduct表,并在“Active”字段中默认为1。
将所有寄存器插入新表
删除原始表并重命名,然后将tmpProduct重命名为Product
您必须确保重新创建所有触发器和引用