iT邦幫忙

DAY 33
6

Oracle and MS SQL系列 第 34

[SQL SERVER]-善用parallel#測試

我將利用老爺機來測試parallel在performance上所帶來的效果。
系統資訊

測試table筆數

Alter table 測試
取消max degree of parallelis(抑制產生平行計畫)

執行修改(non-parallel)
ALTER TABLE dbo.nabk_p2 ADD CONSTRAINT PK_nabk_p2 PRIMARY KEY (SYS_SERIAL);
Go

執行計畫:索引插入(34%)和排序(64%)成本最高

執行修改(parallel)

總表

Select測試

執行sql statement(non-parallel)
select * from dbo.nabk_p2 t2 join dbo.NABK_p1 t1
on t1.sys_serial= t2.sys_serial and t1.POLICY_NO=t2.POLICY_NO and t2.sys_serial between 5071001 and 6271001
order by 2 ;

執行計畫:排序(97%)成本最高

執行sql statement(parallel)
計畫中多了平行處理原則,但整體執行計畫變得複雜許多。

執行計畫:排序(82%)成本最高

總表

結論:SQL Server parallel看來沒有偷懶,經過一些簡單測試
發現SQL SERVER果然依CPU執行數量平均分散WorkLoad進而提升資料庫整體效能,該技術實在可多加利用。


上一篇
[SQL SERVER]善用parallel#簡介
系列文
Oracle and MS SQL34

尚未有邦友留言

立即登入留言