我有一个用于商店文章的大数据表(有超过5亿条记录),因此我在3台服务器上使用SQL Server 2008的分布式分区视图功能。
选择和插入操作正常。但删除或更新操作需要很长时间,永远不会完成。
在活动监视器的进程选项卡中,我看到更新命令的等待类型字段为“PREEMPTIVE_OLEDBOPS”。
知道问题是什么?
注意:我认为MSDTC存在问题,因为更新命令未在第二台服务器的SQL Profiler中显示。但是当检查同一服务器上的MSDTC状态时,状态列为更新(活动)。
答案 0 :(得分:0)
最有可能发生的是,在应用update语句的过滤器之前,来自其他服务器的所有数据都会被转移到运行查询的计算机上。使用4部分命名时可能会发生这种情况。可能的解决方案是:
要服务5亿条记录,您的服务器似乎已足够。使用带有滑动窗口的Table Partitioning的设置可能是处理卷的更具成本效益的方式。