저는 초보자이기 때문에 도움을받을 수 있기를 바랍니다. 나는 SQL 서버 2008R2에서 작업 모두가 함께 결합 네 개의 테이블에서 구성되어 전망을 해요 :이 SQL보기의 속도를 높이려면 어떻게합니까?
SELECT DISTINCT ad.award_id,
bl.funding_id,
bl.budget_line,
dd4.monthnumberofyear AS month,
dd4.yearcalendar AS year,
CASE
WHEN frb.full_value IS NULL THEN '0'
ELSE frb.full_value
END AS Expenditure_value,
bl.budget_id,
frb.accode,
'Actual' AS Type
FROM dw.dbo.dimdate5 AS dd4
LEFT OUTER JOIN dbo.award_data AS ad
ON dd4.fulldate BETWEEN ad.usethisstartdate AND
ad.usethisenddate
LEFT OUTER JOIN dbo.budget_line AS bl
ON bl.award_id = ad.award_id
LEFT OUTER JOIN dw.dbo.fctresearchbalances AS frb
ON frb.el3 = bl.award_id
AND frb.element4groupidnew = bl.budget_line
AND dd4.yearfiscal = frb.yr
AND dd4.monthnumberfiscal = frb.period
뷰는 9 열 150 만 행 성장하고있다. 이보기에서 선택 *은 모든 행에 대해 20 분이 걸렸습니다. 조인 된 테이블의 필드에 인덱스를 추가하고이를 10 분으로 향상 시켰습니다. 내 질문에 더 빨리 실행되도록 선택할 수있는 다른 방법은 무엇입니까?
감사합니다. 바이올렛.
SSMS에서 실행 중일 때 병목 현상이 어디 있는지 보려면'실제 실행 계획 포함 '을 사용 했습니까? – christiandev
[SQL Profiler ??] (http://msdn.microsoft.com/en-us/library/ff650699.aspx) –