SQL*_*ner 6 sql-server-2005 sql-server-2008 sql-server
我知道 SQL Server 可以将并行性用于某些 DDL 操作,例如索引重建或某些 SELECT 语句,当查询成本超过并行性成本阈值时,很可能在数据仓库环境中。
从版本 8i 开始,ORACLE 提供并行 DML操作,如 INSERT、UPDATE 或 DELETE。
SQL Server 是否对 DML 操作使用并行性?
SQL Server 支持其某些物理运算符的并行性。
DML 语句,在高层次上,是逻辑操作。换句话说,你指定什么你想要做的,而不是如何,它的完成。只要保持逻辑操作,SQL Server 就可以使用它认为合适的任何物理运算符集自由地满足语句——这适用于 DML 和 DDL。
SQL Server 使用成本阈值服务器设置来考虑对查询计划中选择的物理运算符使用并行性。就 DDL 和 DML 之间的并行性而言,没有区别,因为正如我所说,SQL Server 将物理操作并行化(即,索引重建可以使用与SELECTorUPDATE查询相同的索引扫描物理运算符)。
因此,简短的回答是肯定的,SQL Server可以并行化 DML,但是除了成本阈值设置之外,您几乎无法控制它。(也就是说,可以通过使用提示之类的东西来限制它MAXDOP。)
相关,但有点不相关:对于包含并行运算符的查询计划,查询运行的 DOP 是在执行时动态选择的,而不是在计划编译时。