0
我想在下面的查詢運行約3秒imporve性能。我不熟悉SQL中的執行計劃分析和索引。mssql日期字段性能問題
我已經有DateFrom和DateTo文件(2個獨立索引和一個組合索引)的索引。我試圖在DateLiveActual文件上創建索引,但這些索引都沒有出現在執行計劃中。
你能幫我優化查詢嗎?
declare @today date = convert(date,GETUTCDATE());
DBCC DROPCLEANBUFFERS
SELECT
S.LocationId
,SBP.CurrencyId
,SUM(CASE
WHEN S.ServiceStatusId = 1 THEN COALESCE (SBP.MRR, 0)
ELSE 0
END) AS ActiveMRR
,MIN(S.DateLiveActual) AS MinServiceDateLiveActual
FROM dbo.service_Service AS S
INNER JOIN dbo.billing_ServiceBillingPeriod AS SBP ON SBP.ServiceId = S.Id
WHERE
SBP.DateFrom <= @today AND (SBP.DateTo >= @today OR SBP.DateTo IS NULL)
GROUP BY S.LocationId, SBP.CurrencyId
該索引改進了1秒的性能,感謝您的輸入..但是Min(DateLiveScheduled)需要1秒。無論如何,我們可以加快速度。實際上它在service_Service表上,所以SQL默認採用PK的索引。 – Raghav