не использовал, тогда я вставил в запрос хинты WITH (INDEX()), стало получше, 2.5 секунды
после удалил эти новые индексы, а так же сделал ребилд существующего, хинты убрал само собой
оптимизатор то ли после удаления новых, то ли после ребилда старого индекса перестроил план запроса, и теперь запрос выполняется уже 8 секунд
можно ли как-то откатиться к старому плану, по которому запрос выполнялся 3 секунды?
пробовал удалять план запроса с помощью FREEPROCCACHE, но новый план строится абсолютно такой же (по которому выполняется за 8 сек)
Если плана не осталось, биндить нечего
в dm_exec_cached_plans не нашлось старого плана а может быть можно попросить sql server построить новый план другим способом к примеру? и может тогда он все же построит план аналогичный старому?
Можно по тексту запроса посмотреть в sys.dm_exec_sql_text + sys.dm_exec_query_stats посмотреть. А лучше плохой план покажите (не картинкой)
получше для 3 секунд - это 30 милисекунд. Ты не хочешь откатывать к старому плану. Ты хочешь написать запрос так, чтобы он работал быстро. Для этого надо )прислать задачу )прислать DDL ) прислать запрос ) прислать может план что есть сейчас
Обсуждают сегодня