SQL:このクエリは、12個のレコードに対して時間がかかり過ぎます。イベントインデックスもテーブルワイズ用に作成されています。SQL:このクエリは時間がかかりすぎています
SELECT
p.AnchorDate,
'Active' StatusDefinition,
count(1) PatientCount,
6 AS SNO
FROM
(SELECT DISTINCT
pp.PatientID,
ad.AnchorDate
FROM
PatientProgram pp WITH (NOLOCK)
INNER JOIN
#tblMonth ad ON ad.AnchorDate = CASE
WHEN ad.AnchorDate BETWEEN DATEADD(dd, - (DAY(pp.EnrollmentStartDate) - 1), pp.EnrollmentStartDate)
AND EOMONTH (ISNULL(pp.EnrollmentEndDate, '9999-12-31'))
THEN ad.AnchorDate
ELSE NULL
END
WHERE NOT EXISTS (SELECT 1
FROM #ManagedPopulation m
WHERE m.tKeyId = pp.ProgramID)
AND pp.ProgramID != 4331) p
GROUP BY
p.AnchorDate;
試してみて、より多くの情報を教えてください。参照しているテーブルのスキーマとは何ですか?インデックスは何ですか?テーブル内のレコード数はどのくらいですか? – CathalMF
テーブルの実行計画とインデックスを提供 – TheGameiswar
実行計画を見直してください最初の考えを与える – Tassadaque