,我有以下形狀的查詢:如何使2個查詢使用2個CPU
A
UNION ALL
B
UNION ALL
C
UNION ALL
D
,並想通過調用A,B,C和d並聯並行,然後,工會它們。淨。這4個查詢全部讀取相同的表中的數據。
我嘗試的第一步是在SSMS的一個Tab中執行A並在第二個Tab中執行B. A和B各持續大約1分鐘,所以我有時間啓動A,然後轉到B標籤並啓動它。
但是,當我看CPU的使用率,它停滯在13%(我在一個8核CPU @ Windows),這對應於一個核心的100%。
我的問題: - 「鎖定」機制是否允許在給定的一組表上的兩個查詢並行運行? - 如果並行性是可能的,我會注意到它試圖在兩個SSMS選項卡中並行運行A和B,還是我的測試有缺陷? - 最終如何提高UNION ALL系列的性能?
SQL Server在資源可用時優化查詢以實現最大平行化。什麼是您的'一個聯盟所有b'查詢的實際執行計劃?您是否擁有獲得多處理器許可的SQL Server安裝?你指定'SSMS2008',是否意味着'SQL Server 2008'被安裝? – MatBailie