datetime - Why some dates give worse performance than other in MS SQL Server -
i have query in ms sql server asking name , date-related information, depending on 2 dates, start- , enddate.
the problem is, i´m not getting same performance. whenever request between dates;
2010-07-01 00:00:00.000 , 2011-07-21 23:59:59.999
the performance excellent. result within mseconds. when request between these dates, example,
2011-07-01 00:00:00.000 , 2011-07-21 23:59:59.999
the performance is.. less good, taking between 20-28 seconds each query. note how dates giving performance more year between, while latter 20 days.
is there particular reason (maybe related how datetime work) this?
edit: query,
select ename, sum(case date when 0 1 else 0 end) u2, sum(case date when 1 1 else 0 end) b_2_4, sum(case date when 2 1 else 0 end) b_4_8, sum(case date when 3 1 else 0 end) b_8_16, sum(case date when 4 1 else 0 end) b_16_24, sum(case date when 5 1 else 0 end) b_24_48, sum(case date when 6 1 else 0 end) o_48, sum(case date when 7 1 else 0 end) status, avg(avg) avg, sum(date) total (select ename, (case when status = 'Öppet' 7 when date < 48 (case when date between 0 , 2 0 when date between 2 , 4 1 when date between 4 , 8 2 when date between 8 , 16 3 when date between 16 , 24 4 when date between 24 , 48 5 else - 1 end) else 6 end) date, date avg (select datediff(hour, cases.date, status.date) date, extern.name ename, status.status cases inner join status on cases.id = status.caseid , status.date = (select max(date) expr1 status status_1 (caseid = cases.id) group caseid) inner join extern on cases.owner = extern.id (cases.org = 'expert') , (cases.date between '2009-01-15 09:48:25.633' , '2011-07-21 09:48:25.633')) derivedtbl_1) derivedtbl_2 group ename order ename
(parts of) tables:
extern -id (->cases.owner) -name cases -owner (->extern.id) -id (->status.caseid) -date (case created @ date) status -caseid (->cases.id) -status -date (can multiple, max(status.date) gives date when status last changed)
i have thought statistics issue.
when selecting recent dates these may unrepresented in statistics yet threshold has not yet been reached trigger auto updating.
Comments
Post a Comment