Poor report query performance

Hi Team, below is the report view which is causing slowness , let me know any suggestions if you have

CREATE VIEW [REPORT].[View_MachinePerformanceBySlot] AS  
SELECT  
      VA.SITE_NUM, 
       VA.SLOT_NUMBER, 
       VA.AREA_NAME,        
       VA.MANUFACTURER_NAME, 
       VA.ATYP_ID, 
       VA.HOLD_PERCENTAGE, 
       VA.SLOT_DENOM, 
       VA.SERIAL_NUM, 
       VA.AREA_ID, 
       a.THEM_NAME, 
    a.GAME_NAME, 
       a.TCAT_LONG_NAME, 
       a.TGRP_LONG_NAME, 
       VA.MTYP_NAME, 
       VA.OWNER_LABEL_KEY, 
       vsmr.SDS_Bets AS HANDLE, 
       vsmr.SDS_Plays AS HANDLE_PULL, 
       vsmr.Days_On AS DAYS_ACTIVE, 
       VA.GAME_TYPE, 
       Mtr_NamedAsstID, 
       Mtr_GameDay AS MVR_GDAY_DATE, 
    vsmr.PTYP_ID AS MVR_PTYP_ID, 
    Mtr_PeriodType AS PERIOD_TYPE, 
    CAST(SDS_Bets AS FLOAT)  AS MVR_BETS, 
    CAST(SLIP_APJP_JACKPOT + SLIP_PROGRESSIVE_JAKPT  
   + SLIP_MYST_JACKPOT + SLIP_CC_JACKPOT  
   + SLIP_CELEBRATION_JACKPOT + vsmr.CASH_PROG+vsmr.NONCASH_PROG  
    AS FLOAT)AS JACKPOTS, 
    SDS_MachinePaidProgressiveWins, 
    MVR_THEORETICAL_WIN, 
    (CASE WHEN vsmr.SDS_Bets = 0 THEN 0 
   ELSE (MVR_THEORETICAL_WIN * 100) / vsmr.SDS_Bets 
    END)  AS ACTUAL_PERCENTAGE, 
    ((CASE WHEN vsmr.SDS_Bets = 0 THEN 0 ELSE (MVR_THEORETICAL_WIN * 100) / vsmr.SDS_Bets END)  
  - VA.HOLD_PERCENTAGE) AS VAR_HOLD_PERCENT, 
    Days_On AS MVR_DAYS_ONLINE_VAL, 
    (vsmr.SDS_1_bills + vsmr.SDS_5_bills + vsmr.SDS_10_bills + vsmr.SDS_20_bills  
       + vsmr.SDS_50_bills + vsmr.SDS_100_bills + vsmr.SDS_CoinDrop) AS Bills_Coins, 
        
       CAST(vsmr.SDS_1_bills + vsmr.SDS_5_bills + vsmr.SDS_10_bills + vsmr.SDS_20_bills  
            + vsmr.SDS_50_bills + vsmr.SDS_100_bills + vsmr.SDS_CoinDrop + 
            + vsmr.SDS_EFTInCashablePromo + vsmr.SDS_EFTInNonCashable 
            + vsmr.SDS_EFTInCashable + vsmr.SDS_TicketInCashable + vsmr.SDS_TicketInNonCashable 
            + vsmr.SDS_TicketInPromoCashable 
            -( vsmr.SLIP_APJP_JACKPOT + vsmr.SLIP_PROG_JAKPT_ST + vsmr.SLIP_CC_JACKPOT +vsmr.SLIP_MYST_JACKPOT 
    + vsmr.SLIP_DISPUTE + vsmr.SLIP_FILL+vsmr.SLIP_CELEBRATION_JACKPOT +vsmr.CASH_PROG 
    +vsmr.NONCASH_PROG - vsmr.SLIP_BLEED 
   ) 
            -( vsmr.SDS_EFTOutCashablePromo+vsmr.SDS_EFTOutNonCashable+vsmr.SDS_EFTOutCashable+ 
     SDS_TicketOutNonCashable+SDS_TicketOutCashable 
   ) 
         AS FLOAT) AS SDS_WIN,  
    (vsmr.SLIP_APJP_JACKPOT + vsmr.SLIP_PROG_JAKPT_ST + vsmr.SLIP_CC_JACKPOT+vsmr.SLIP_MYST_JACKPOT  
   + vsmr.SLIP_DISPUTE + vsmr.SLIP_FILL+vsmr.SLIP_CELEBRATION_JACKPOT - vsmr.SLIP_BLEED 
  )AS SLIP_EXPENSES, 
   
    -- WIN 
    CAST((vsmr.SDS_1_bills + vsmr.SDS_5_bills + vsmr.SDS_10_bills + vsmr.SDS_20_bills  
            + vsmr.SDS_50_bills + vsmr.SDS_100_bills + vsmr.SDS_CoinDrop + 
            + vsmr.SDS_EFTInCashablePromo + vsmr.SDS_EFTInNonCashable 
            + vsmr.SDS_EFTInCashable + vsmr.SDS_TicketInCashable + vsmr.SDS_TicketInNonCashable 
            + vsmr.SDS_TicketInPromoCashable 
        )AS FLOAT) AS WIN, 
        -- SHORTS 
        (vsmr.SLIP_APJP_JACKPOT +vsmr.SLIP_PROG_JAKPT_ST + vsmr.SLIP_CC_JACKPOT 
   +vsmr.SLIP_DISPUTE +vsmr.SLIP_CELEBRATION_JACKPOT  
   +(vsmr.SLIP_FILL - vsmr.SLIP_BLEED) 
   +(vsmr.SDS_EFTOutCashablePromo+vsmr.SDS_EFTOutNonCashable+vsmr.SDS_EFTOutCashable 
    +SDS_TicketOutNonCashable+SDS_TicketOutCashable) 
  )AS SHORTS,  
  -- MYSTERY_SHORT 
        vsmr.SLIP_MYST_JACKPOT + vsmr.CASH_PROG + vsmr.NONCASH_PROG  AS MYSTERY_SHORT, 
  -- SLIP_LINK_PROG_JAKPT 
  ISNULL(SLIP_LINK_PROG_JAKPT, 0)  AS SLIP_LINK_PROG_JAKPT,     
        -- ACTUAL_WIN 
        (ISNULL(ActualMtr.ACTUAL_CASH_COUPON_VAL, 0) 
        +ISNULL(ActualMtr.ACTUAL_NONCASH_COUPON_VAL, 0)  
        +ISNULL((ActualMtr.ACTUAL_1_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_5_BILLS), 0)  
        +ISNULL((ActualMtr.ACTUAL_10_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_20_BILLS), 0)  
        +ISNULL((ActualMtr.ACTUAL_50_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_100_BILLS), 0) 
        +ISNULL(vamcr.SCALE_AMT, 0)  
        +ISNULL(ActualMtr.ACTUAL_TKTINCASH, 0) 
        +ISNULL(ActualMtr.ACTUAL_TKTINNONCASH, 0) 
        +ISNULL(ActualMtr.ACTUAL_TKTINPROMOCASH, 0) 
        +(vsmr.SDS_EFTInCashablePromo + vsmr.SDS_EFTInNonCashable + vsmr.SDS_EFTInCashable ) 
        -(vsmr.SLIP_APJP_JACKPOT + vsmr.SLIP_PROG_JAKPT_ST + vsmr.SLIP_CC_JACKPOT+vsmr.SLIP_MYST_JACKPOT  
            + vsmr.SLIP_DISPUTE + vsmr.SLIP_FILL +vsmr.SLIP_CELEBRATION_JACKPOT  
            +vsmr.CASH_PROG+vsmr.NONCASH_PROG - vsmr.SLIP_BLEED) 
        -(vsmr.SDS_EFTOutCashablePromo+vsmr.SDS_EFTOutNonCashable+vsmr.SDS_EFTOutCashable 
    +SDS_TicketOutNonCashable+SDS_TicketOutCashable) 
  -ISNULL(SLIP_LINK_PROG_JAKPT, 0) 
         ) AS ACTUAL_WIN 
        ,(ISNULL(ActualMtr.ACTUAL_CASH_COUPON_VAL, 0) 
        +ISNULL(ActualMtr.ACTUAL_NONCASH_COUPON_VAL, 0)  
        +ISNULL((ActualMtr.ACTUAL_1_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_5_BILLS), 0)  
        +ISNULL((ActualMtr.ACTUAL_10_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_20_BILLS), 0)  
        +ISNULL((ActualMtr.ACTUAL_50_BILLS), 0) + ISNULL((ActualMtr.ACTUAL_100_BILLS), 0) 
        +ISNULL(vamcr.SCALE_AMT, 0)  
        +ISNULL(ActualMtr.ACTUAL_TKTINCASH, 0) 
        +ISNULL(ActualMtr.ACTUAL_TKTINNONCASH, 0) 
        +ISNULL(ActualMtr.ACTUAL_TKTINPROMOCASH, 0) 
        +ISNULL(vsmr.SDS_EFTInCashablePromo,0 )  
        +ISNULL(vsmr.SDS_EFTInNonCashable, 0)  
        +ISNULL(vsmr.SDS_EFTInCashable, 0)) AS PHY_WIN 
        ,(vsmr.CASH_PROG_SLOT_CONTRIBUTION + vsmr.CASH_PSR_ARV_AMT_VAL+vsmr.NON_CASH_PROG_SLOT_CONTRIBUTION  
        +vsmr.NON_CASH_PSR_ARV_AMT_VAL ) AS PROVISION, 
        ISNULL(a.PTBL_NO_OF_PAYLINES,0) AS PTBL_NO_OF_PAYLINES -- check with ARV 
         
         
  FROM  ACCOUNTING.VIEW_SDS_METER_ROLLUP_WITH_PROG AS vsmr    
 JOIN REPORT.VIEW_ASSET VA 
    ON  VA. NAMED_ASSET_ID = Mtr_NamedAsstID  
 LEFT JOIN Accounting.VIEW_ACTUAL_METER_PERIODIC_ROLLUP AS ActualMtr 
             ON  (ActualMtr.NAMEDASSTID = vsmr.Mtr_NamedAsstID) 
             AND (ActualMtr.GAMEDAY = vsmr.Mtr_GameDay) 
             AND (ActualMtr.PTYP_ID = vsmr.PTYP_ID) 
 LEFT JOIN ACCOUNTING.VIEW_ACTUAL_METER_COIN_ROLLUP vamcr 
             ON vamcr.CN_NAMEDASSTID = vsmr.Mtr_NamedAsstID 
             AND vamcr.CN_GAMEDAY = vsmr.Mtr_GameDay 
             AND vamcr.CN_PTYP_ID = vsmr.PTYP_ID 
LEFT JOIN  
(SELECT NAGI_NAST_ID,AT.THEM_NAME,TC.TCAT_LONG_NAME,Tg.TGRP_LONG_NAME ,PTBL.PTBL_NO_OF_PAYLINES,aco.USER_CUSTOM10 AS GAME_NAME FROM  
 ACCOUNTING.NAMED_ASSET_GAME_INFO   
 
 LEFT  JOIN ACCOUNTING.GAME_INFO gf 
            ON  gf.GINFO_ID = NAGI_GINFO_ID 
            AND NAGI_IS_LATEST=1 
         JOIN  ACCOUNTING.PAYTABLE PTBL 
            ON  PTBL.PTBL_ID = gf.GINFO_PTBL_ID 
          JOIN  ASSET.THEME AT 
            ON  AT.THEM_ID= gf.GINFO_ASST_THME_ID 
         JOIN  ASSET.THEME_CATEGORY tc 
            ON  TC.TCAT_ID = AT.THEME_PARENT_ID 
         JOIN  asset.THEME_GROUP tg 
            on tc.TCAT_TGRP_ID=tg.TGRP_ID 
         JOIN  asset.THEME_TYPE TT  
            on TT.TTYP_ID=AT.TTYP_ID 
  JOIN ACCOUNTING.NAMED_ASSET na 
   on na.NAST_ID = NAGI_NAST_ID 
  JOIN ASSET.ASSET_CONFIGURATION ac 
   on ac.ACNF_NUMBER = na.NAST_NAME AND ac.ACNF_DELETED_TS is null 
  JOIN ASSET.ASSET_CONFIGURATION_OPTION aco 
   on aco.ACNF_ID = ac.ACNF_ID 
            ) as  a  
            ON  vsmr.Mtr_NamedAsstID =a.NAGI_NAST_ID 

April 24th, 2015 3:40am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics