Hello All,
I have a query :
SELECT TOP 1000
FACT_TABLE.[ClaimLineNumber] AS [ClaimLineNumber],
FACT_TABLE.[clmnum] AS [clmnum],
FACT_TABLE.[memid_blinded] AS [memid],
FACT_TABLE.[clmtype] AS [clmtype],
FACT_TABLE.[pd_dt] AS [pd_dt],
FACT_TABLE.[fromdate] AS [fromdate],
FACT_TABLE.[todate] AS [todate],
FACT_TABLE.[paidamt] AS [paidamt],
FACT_TABLE.[firstdiagcode] AS [firstdiagcode],
FACT_TABLE.[serviceunits] AS [serviceunits],
FACT_TABLE.[billedamt] AS [billedamt],
FACT_TABLE.[allowedamt] AS [allowedamt]
FROM
[dbo].[finalclaim] FACT_TABLE
INNER JOIN [dbo].[dimcarrier] DIM1
ON DIM1.[carrier_id_int] = FACT_TABLE.[carrier_id_int]
INNER JOIN [dbo].[dimpayor] DIM2
ON DIM2.[Payor_id_int] = FACT_TABLE.[Payor_id_int]
INNER JOIN [dbo].[dimgroup] DIM3
ON DIM3.[group_id_int] = FACT_TABLE.[group_id_int]
INNER JOIN [dbo].[dimreportedpaiddate] DIM4
ON DIM4.[rpt_pd_dt_id_int] = FACT_TABLE.[rpt_pd_dt_id_int]
INNER JOIN [dbo].[dimtosclaimclass] DIM5
ON DIM5.[tos_claim_class_id_int] = FACT_TABLE.[tos_claim_class_id_int]
WHERE 1=1
AND DIM1.[Plan_Type] = 'HMO'
AND DIM2.[Payor_name] = 'BCBSM'
AND DIM3.[LVLDESC3] = 'General Motors'
AND DIM4.[pd_dt_mth_yr] = '2012 - NOV'
AND DIM5.[claim_sub_type] = 'Facility'
this returns only 78 records from my fact table having 170 Million records. It is taking long time to execute. Is there any way i can optimize this query?
Also, i have already created indexes on each join columns.
Anish Tuladhar - Do not forget to mark as answer, only if helpful.:)