Right, we only compress one request ID at a time but when we have 30M records inserted into the F table with a max request ID of 80K rows, we create 375 request ID's. This is 6 hours to compress one cube in a night (30,000,000/80,000 = 375 requests *1 minute per request / 60 minutes = 6.25 hours). I have to compress all requests every night so that performance is good in the AM. We have significantly more background processes in the evening so that is not an issue. They run in a PC also so there are not >1 compression running at a time. I understand how compression works and when to schedule and what it does, I just need to know if there is any way to increase the speed at which it runs. Looks at SM37 Log below, specifically these lines. There is a 80 second gap between the steps. The log this is from it happened 735 times.
09/10/2013 19:22:21 TCN_/CPMB/TXIP8RG](ACTION) OPTION ( HASH JOIN, MAX
09/10/2013 19:22:21 DOP 1 );
09/10/2013 19:23:43 SELECT ACTION, COUNT(*) AS CNT FROM [##TCN_/CPMB/T
09/10/2013 19:22:21 INS:60427
09/10/2013 19:22:21 *** Merge ( 83.3 sec. )
09/10/2013 19:22:21 *** Mass Insert ( 0.0 sec. )
09/10/2013 19:22:21 MERGE INTO [/B28/ETXIP8RG] E USING ( SELECT (0) [P
09/10/2013 19:22:21 DIMID] , [KEY_TXIP8RGT] , [KEY_TXIP8RGU] , [KEY_TX
09/10/2013 19:22:21 IP8RG1] , [KEY_TXIP8RG2] , [KEY_TXIP8RG3] , [KEY_T
09/10/2013 19:22:21 XIP8RG4] , [KEY_TXIP8RG5] , [KEY_TXIP8RG6] , [KEY_
09/10/2013 19:22:21 TXIP8RG7] , [KEY_TXIP8RG8] , [KEY_TXIP8RG9] , [KEY
09/10/2013 19:22:21 _TXIP8RGA] , [KEY_TXIP8RGB] , [KEY_TXIP8RGC] , [KE
09/10/2013 19:22:21 Y_TXIP8RGD] ,SUM([/B28/S_SDATA]) AS [/B28/S_SDATA]
09/10/2013 19:22:21 FROM [/B28/FTXIP8RG] FACT WHERE [KEY_TXIP8RGP] =
09/10/2013 19:22:21 (2897) GROUP BY [KEY_TXIP8RGT] , [KEY_TXIP8RGU] ,
09/10/2013 19:22:21 [KEY_TXIP8RG1] , [KEY_TXIP8RG2] , [KEY_TXIP8RG3] ,
09/10/2013 19:22:21 [KEY_TXIP8RG4] , [KEY_TXIP8RG5] , [KEY_TXIP8RG6]
09/10/2013 19:22:21 , [KEY_TXIP8RG7] , [KEY_TXIP8RG8] , [KEY_TXIP8RG9]
09/10/2013 19:22:21 , [KEY_TXIP8RGA] , [KEY_TXIP8RGB] , [KEY_TXIP8RGC
09/10/2013 19:22:21 ] , [KEY_TXIP8RGD] HAVING (SUM ([/B28/S_SDATA]) <>
09/10/2013 19:22:21 0 ) ) F ON ( E.[KEY_TXIP8RGP] = [PDIMID] AND E.[K
09/10/2013 19:22:21 EY_TXIP8RGT] = F.[KEY_TXIP8RGT] AND E.[KEY_TXIP8
09/10/2013 19:22:21 RGU] = F.[KEY_TXIP8RGU] AND E.[KEY_TXIP8RG1] = F
09/10/2013 19:22:21 .[KEY_TXIP8RG1] AND E.[KEY_TXIP8RG2] = F.[KEY_TX
09/10/2013 19:22:21 IP8RG2] AND E.[KEY_TXIP8RG3] = F.[KEY_TXIP8RG3]
09/10/2013 19:22:21 AND E.[KEY_TXIP8RG4] = F.[KEY_TXIP8RG4] AND E.
09/10/2013 19:22:21 [KEY_TXIP8RG5] = F.[KEY_TXIP8RG5] AND E.[KEY_TXI
09/10/2013 19:22:21 P8RG6] = F.[KEY_TXIP8RG6] AND E.[KEY_TXIP8RG7] =
09/10/2013 19:22:21 F.[KEY_TXIP8RG7] AND E.[KEY_TXIP8RG8] = F.[KEY_
09/10/2013 19:22:21 TXIP8RG8] AND E.[KEY_TXIP8RG9] = F.[KEY_TXIP8RG9
09/10/2013 19:22:21 ] AND E.[KEY_TXIP8RGA] = F.[KEY_TXIP8RGA] AND
09/10/2013 19:22:21 E.[KEY_TXIP8RGB] = F.[KEY_TXIP8RGB] AND E.[KEY_T
09/10/2013 19:22:21 XIP8RGC] = F.[KEY_TXIP8RGC] AND E.[KEY_TXIP8RGD]
09/10/2013 19:22:21 = F.[KEY_TXIP8RGD] ) WHEN NOT MATCHED THEN INSERT
09/10/2013 19:22:21 ( [KEY_TXIP8RGP] , [KEY_TXIP8RGT] , [KEY_TXIP8RGU
09/10/2013 19:22:21 ] , [KEY_TXIP8RG1] , [KEY_TXIP8RG2] , [KEY_TXIP8RG
09/10/2013 19:22:21 3] , [KEY_TXIP8RG4] , [KEY_TXIP8RG5] , [KEY_TXIP8R
09/10/2013 19:22:21 G6] , [KEY_TXIP8RG7] , [KEY_TXIP8RG8] , [KEY_TXIP8
09/10/2013 19:22:21 RG9] , [KEY_TXIP8RGA] , [KEY_TXIP8RGB] , [KEY_TXIP
09/10/2013 19:22:21 8RGC] , [KEY_TXIP8RGD] , [/B28/S_SDATA] ) VALUES (
09/10/2013 19:22:21 [PDIMID] , F.[KEY_TXIP8RGT] , F.[KEY_TXIP8RGU] ,
09/10/2013 19:22:21 F.[KEY_TXIP8RG1] , F.[KEY_TXIP8RG2] , F.[KEY_TXIP8
09/10/2013 19:22:21 RG3] , F.[KEY_TXIP8RG4] , F.[KEY_TXIP8RG5] , F.[KE
09/10/2013 19:22:21 Y_TXIP8RG6] , F.[KEY_TXIP8RG7] , F.[KEY_TXIP8RG8]
09/10/2013 19:22:21 , F.[KEY_TXIP8RG9] , F.[KEY_TXIP8RGA] , F.[KEY_TXI
09/10/2013 19:22:21 P8RGB] , F.[KEY_TXIP8RGC] , F.[KEY_TXIP8RGD] , F.[
09/10/2013 19:22:21 /B28/S_SDATA] ) WHEN MATCHED AND E.[/B28/S_SDATA]
09/10/2013 19:22:21 + F.[/B28/S_SDATA] = 0 THEN DELETE WHEN MATCHED TH
09/10/2013 19:22:21 EN UPDATE SET E.[/B28/S_SDATA] = E.[/B28/S_SDATA]
09/10/2013 19:22:21 + F.[/B28/S_SDATA] OUTPUT LEFT($action,1) INTO [##
09/10/2013 19:22:21 TCN_/CPMB/TXIP8RG](ACTION) OPTION ( HASH JOIN, MAX
09/10/2013 19:22:21 DOP 1 );
09/10/2013 19:23:43 SELECT ACTION, COUNT(*) AS CNT FROM [##TCN_/CPMB/T
09/10/2013 19:23:43 XIP8RG] GROUP BY ACTION OPTION ( MAXDOP 1 )
09/10/2013 19:23:43 INS:60507
09/10/2013 19:23:43 *** Merge ( 82.1 sec. )
09/10/2013 19:23:43 *** Mass Insert ( 0.0 sec. )
09/10/2013 19:23:43 MERGE INTO [/B28/ETXIP8RG] E USING ( SELECT (0) [P