我有以下查詢: 它比一分鐘採取更多...我需要提高性能,並把它不到10秒。如何提高此查詢的性能?它超過一分鐘?
欣賞您的回覆。
SELECT
DISTINCT
RP.RegionPerilID
,RP.RegionName + ' ' + RP.ShortName AS RegionPerilName
,LossLevelID
,LL.LossLvlName AS LossLevelName
FROM Axis_Accumulation.dbo.AIREventSet ES
JOIN Axis_Accumulation.dbo.vw_RegionPerils RP ON RP.RegionPerilId = ES.RegionPerilId
JOIN ART.LA.ELT_Blend ELT WITH (NOLOCK) ON ES.EventNum = ELT.EventNum AND ELT.Versionid = @versionId
JOIN dbo.LA_LossLevel LL ON ELT.LossLevelID = LL.LossLvlID AND LL.LosstypeId = 3 -- Line of Business
ORDER By RegionPerilName
你有一些執行計劃?每個表中有多少個記錄? –
執行計劃,表格結構和索引將需要提供很多幫助。與此同時,你可能會考慮在那裏擺脫那個NOLOCK,除非你大多數時候對大多數準確的數據都可以。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
你對,你可以在命令用於查詢的運行速度表的所有索引?確保你正確地加入表格。 – JT4U