我有以下查询: 它比一分钟采取更多...我需要提高性能,并把它不到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