Принудительное руководство по планированию в SQL Server 2008 - PullRequest
0 голосов
/ 15 мая 2019

У меня есть запрос, встроенный в приложение, доступ к которому я не могу изменить, не связавшись с первоначальными разработчиками и не заставив их изменить его.

Запрос, который я пытаюсь изменить, выполняется очень медленно и выдает неполные данные. У меня улучшенная версия этого запроса, и я ищу способ в SQL Server 2008 существенно заменить исходный запрос улучшенным, когда исходный запрос выполняется через приложение.

Я попытался создать и вызвать руководство по плану на основе исходного запроса, чтобы вызвать новый запрос. После этой статьи - https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms190772(v=sql.105) (а также другие).

Пока что каждая попытка использовать принудительное выполнение плана не удалась, и исходный запрос все еще выполняется. Кто-нибудь знает, правильно ли я здесь подхожу? Или есть лучшее решение проблемы, которую я описал.

1 Ответ

1 голос
/ 15 мая 2019

Как уже говорили другие, это невозможно. Если вы можете заставить разработчиков изменить запрос в приложении, попросите их вызвать хранимую процедуру. Таким образом, вы можете обновлять процесс всякий раз, когда вам это нужно - это дает вам гораздо больше гибкости в том, как работает запрос и что он делает.

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