Sql-Server

DML 操作的 SQL Server 並行性

  • February 22, 2022

我知道當查詢成本超過並行成本門檻值時,SQL Server 可以將並行性用於某些 DDL 操作,例如索引重建或某些 SELECT 語句,這很可能在數據倉庫環境中進行。

ORACLE從 8i 版開始提供並行 DML操作,如 INSERT、UPDATE 或 DELETE。

SQL Server 是否對 DML 操作使用並行性?

SQL Server 支持其某些物理運算符的並行性。

DML 語句在高層次上是邏輯操作。換句話說,你指定想要做什麼,而不是它是如何完成的。只要保持邏輯操作,SQL Server 就可以自由地使用它認為合適的任何物理運算符集來滿足該語句——這適用於 DML 和 DDL。

SQL Server 使用成本門檻值伺服器設置來考慮對查詢計劃中選擇的物理運算符使用並行性。就並行性而言,DDL 和 DML 之間沒有區別,因為正如我所說,SQL Server 並行化了物理SELECT操作(即,索引重建可以使用與orUPDATE查詢相同的索引掃描物理運算符)。

所以,簡短的回答是肯定的,SQL Server可以並行化 DML,但除了成本門檻值設置之外,您幾乎無法控制它。(也就是說,可以通過使用提示之類的東西來限制MAXDOP它。)


相關,但有點偏題:對於包含並行運算符的查詢計劃,查詢執行的 DOP 是在執行時動態選擇的,而不是在計劃編譯時。

引用自:https://dba.stackexchange.com/questions/19868