У меня есть этот запрос SQL, но я обнаружил, что выполнение может занять до 11 секунд.Я действительно запутался, потому что, когда я изменяю выбор даты на дату 2018 года, она мгновенно возвращается.
Вот запрос:
select
cv.table3ID, dm.Column1 ,dm.Column2, mm.Column1,
convert(varchar, cv.Date, 107) as Date,
mm.table2ID, dm.table1ID, mm.Column2,
count(ctt.table4ID) as Total
from
table1 dm
inner join
table2 mm on mm.table2ID = dm.table1ID
inner join
table3 cv on cv.table3ID = mm.table2ID
left join
table4 ct on ct.table4CVID = cv.table3ID
inner join
table4 ctt on ctt.table4MMID = mm.table2ID
where
ctt.table4Date >= '2019-01-19'
and ct.table4CVID is null
and dm.Column1 like '%Albert%'
and cv.Column1 = 39505
and cv.Status = 'A'
group by
cv.table3ID, dm.Column1 ,dm.Column2, mm.Column1,
cv.Date, mm.table2ID, dm.table1ID, mm.Column2
Я обнаружил, что когда я выполняю этот запрос с помощью ctt.table4Date> = '2018-01-19', ответ мгновенный.Но с «2019-01-19» это занимает 11 секунд.
Первоначально, когда я обнаружил, что запрос занимает 11 секунд, я подумал, что это должно быть проблемой индексации, но я больше не уверен, имеет ли он отношение к индексу, так как он хорошо работает дляболее старая дата.
Я рассмотрел план выполнения запроса с разными датами, и они выглядят совершенно по-разному.
Есть мысли о том, почему это может происходить?Имеет ли это какое-либо отношение к обновлению статистики?
[Update]
Это изображение ниже представляет сравнение плана выполнения между 2018 и 2019 для table4 ctt.Согласно плану выполнения, это занимает 43% от стоимости оператора в 2018 году и 45% в 2019 году. Сравнение плана выполнения таблиц 4 ctt 2019 и 2018. Верх - 2019, низ - 208
Изображение здесь - сравнение плана выполнения снова для table4 как ct.То же самое здесь, верх - 2019, а низ - 2018. План выполнения таблицы 4 ct сравнения 2019 и 2018. Верх - 2019, низ - 208
[Обновление 2]
Вот планы выполнения SQL:
При использовании «2018-01-19» в качестве даты: https://www.brentozar.com/pastetheplan/?id=SyUh8xXQV
При использовании «2019-01-19» в качестве даты: https://www.brentozar.com/pastetheplan/?id=rkELW1Q7V