Производительность SQL Server связана - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть SQL-запрос и два восстановления одной и той же базы данных с разными датами.Одно восстановление выполняется 7 ноября, а другое - 10 декабря. Запрос выполняется 5 часов при восстановлении базы данных 7 ноября, а тот же запрос выполняется 23-25 ​​секунд при восстановлении базы данных 10 декабря

Я сравнилиндексы в обеих базах данных таблиц, участвующих в запросе, но индексы одинаковы в обеих.Затем я проверил план выполнения запроса того же запроса в обоих случаях восстановления базы данных.Найдено много различий в обоих планах выполнения.В плане выполнения запроса восстановления базы данных 7 ноября я вижу много вложенных соединений по сравнению с восстановлением базы данных 10 декабря.Место, где Nested Join используется SQL Server в базе данных 7 ноября, там же, где Merge Join используется в базе данных 10 декабря.

Может кто-нибудь помочь объяснить, почему у нас есть это расхождение в плане выполнения запроса итакже, почему именно запрос выполняется медленно в базе данных 7 ноября.

1 Ответ

0 голосов
/ 12 февраля 2019

Пожалуйста, проверьте фрагментацию индекса и REBUILD \ REORGANIZE необходимые индексы и снова проверьте производительность запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...