Я долго искал и до сих пор не нашел ответа на свою проблему.
Наш Dynamics AX генерирует запросы с опцией подсказки запроса (FAST x), которая иногда вынуждает использовать неверный план выполнения. Разработчики говорят, что это по умолчанию, и его трудно изменить (возможно, должно быть исправлено во всех формах).
Так что я нашел способ переопределить эти подсказки, используя флаги трассировки. Я обнаружил прекрасный флаг трассировки 8722, который, как утверждается, заставляет SQL Server игнорировать некоторые подсказки запроса, особенно те, которые содержатся в предложении OPTION.
Тем не менее, это не работает в моем случае. Я также попытался включить флаг трассировки 8602 (отключить подсказки индекса), но мой запрос все еще выполняется с подсказкой FAST x (это намного медленнее, чем когда я фактически удаляю предложение OPTION).
Я также попытался очистить кэш плана, но безрезультатно.
Любые идеи? Я что-то пропустил?
PS Я включил флаги трассировки глобально, это выпуск SQL Server 2012 для разработчиков