并行联合...... SQL Server会这样做吗?

Bra*_*ore 3 parallel-processing union sql-server-2008

如果我想从位于不同驱动器上的多个表中并入数据,那么SQL会并行提取数据吗?我应该知道相关的设置或提示吗?

Gor*_*off 6

UNION应该并行运行,至少从SQL Server 2005开始.

如果表位于不同的驱动器或同一驱动器上,则没有区别.在现代世界中,磁盘可以是虚拟的,或者具有多个读取头.一个驱动器和多个驱动器之间的区别越来越不相关.

如果将MAXD​​OP设置为1,则只有一个线程.

请注意,UNION将比UNION ALL慢得多.

布兰登 ..让我回答一下 你似乎在考虑旧式架构.这些肯定仍然存在.但是,现代磁盘有多个读头和多个盘片.通常,返回数据的问题涉及控制器级别的带宽,而不是读取速度.您还有多个级别的缓存和预读(有时在文件系统和数据库级别).最好让数据库引擎管理这种复杂性.

例如,我现在正在使用的机器实际上是一台虚拟机.我使用的磁盘是EMC盒子上的分区.处理器是大盒子中的一些处理器.