我在一起進行了一些簡單的分析,以便基於CTAS語句對DWU對讀寫的影響進行基準測試。Benchmarking SQL數據倉庫DWU
該查詢正在將1.7b行表聚合到993k行的表中。源和目標表是循環分配(來源不會是RR長期的,會移動到HASH)查詢大致如下:
create table CTAS_My_DWU_Test
with (distribution = round_robin)
as
select TableKey1, TableKey2,
SumCcolumn=SUM(SalesAmt),
MaxQuantity=MAX(SalesQty),
MinQuantity=MIN(SalesQty)
from FactSales
group by TableKey1, TableKey2
option (label='MyDWUTest');
我分析通過sys.dm_pdw_dms_workers DMV性能,對於type = DIRECT_READER和type = WRITER,每個分佈獲取平均bytes_per_second。
我的過程是更改DWU,刪除CTAS,重新創建它並分析DMV中的數據。
我在增加DWU時沒有看到性能的持續改進。我的目標是尋找計算增加的明確證據,但有時候較高的DWU會比較小的DWU返回更少的bytes_per_sec。
如果我碰巧在同一個DWU上運行CTAS語句兩次,而不經過縮放過程,則後續執行的運行速度將快近10倍。
在基於一個表的過程中尋找幫助,想要暫時保持數據移動/連接方程。