我对前几年的数据运行了以下查询,花了3个小时,今年花了13天.我不知道为什么会这样.任何帮助将非常感激.
我刚刚测试了旧SQL服务器中的查询,它可以在3小时内完成.因此,问题必须与我创建的新SQL服务器有关.你有任何想法可能是什么问题?
查询:
USE [ABCJan] CREATE INDEX Link_Oct ON ABCJan2014 (Link_ref) GO CREATE INDEX Day_Oct ON ABCJan2014 (date_1) GO UPDATE ABCJan2014 SET ABCJan2014.link_id = LT.link_id FROM ABCJan2014 MT INNER JOIN [Central].[dbo].[LookUp_ABC_20142015] LT ON MT.Link_ref = LT.Link_ref UPDATE ABCJan2014 SET SumAvJT = ABCJan2014.av_jt * ABCJan2014.n UPDATE ABCJan2014 SET ABCJan2014.DayType = LT2.DayType FROM ABCJan2014 MT INNER JOIN [Central].[dbo].[ABC_20142015_days] LT2 ON MT.date_1 = LT2.date1
使用以下数据结构:
ABCJan2014(7000万行 - 没有独特的标识符 - Link_ref和date_1在一起是唯一的)
Link_ID nvarchar (17) Link_ref int Date_1 smalldatetime N int Av_jt int SumAvJT decimal(38,14) DayType nvarchar (50)
LookUp_ABC_20142015
Link_ID nvarchar (17) PRIMARY KEY Link_ref int INDEXED Link_metres int
ABC_20142015_days
Date1 smalldatetime PRIMARY KEY & INDEXED DayType nvarchar(50)
执行计划
看起来这部分问题花了这么长时间.
再次感谢您的帮助,我正在拔头发.