0

有人可以向我解释为什么更新表列只使用八个可能的处理器之一吗?我认为这样的过程可以很容易地细分为所有可用的处理器?

查询就像这样:

update
    My_Table
set
    column2 = 'Atlantic'
from
    My_Table
where
    column2 != 'Ocean'

有问题的表大约是 6GB。查询期间的 IO Deltas 约为 7MB/s,非常低。

服务器是一台远程机器,我是唯一的用户。并行性已启用。

我没有使用我可能应该使用的索引。

更新

解决方案可能是不更新并使用 case 语句选择表的副本。复制完成后,可以删除旧表。当然,这只有在有足够的磁盘空间时才可行。

4

1 回答 1

0

我的第一个问题是你有 TRIGGER,因为这通常是最小的原因。既然你有这么多的数据,所以可能想检查以下几点:

索引更新
外键查找
外键级联
索引视图
计算列
检查约束

快照隔离
文件增长

于 2012-07-25T18:17:49.397 回答