Eu procurei por um longo tempo e ainda não encontrei a resposta para o meu problema.
Nosso Dynamics AX está gerando consultas com a dica de consulta OPTION (FAST x), o que às vezes força a utilização de um plano de execução ruim. Os desenvolvedores dizem que é por padrão e é difícil de mudar (possivelmente deve ser corrigido em todos os formulários).
Então, eu estava atrás de uma maneira de substituir essas dicas usando sinalizadores de rastreamento. Encontrei o adorável sinalizador de rastreamento 8722, que afirma fazer o SQL Server ignorar algumas dicas de consulta, especialmente as da cláusula OPTION.
No entanto, isso não funciona no meu caso. Também tentei habilitar o sinalizador de rastreamento 8602 (desativar dicas de índice), mas minha consulta ainda está sendo executada com a dica FAST x (é muito mais lenta do que quando eu realmente removo a cláusula OPTION).
Tentei limpar o cache do plano também, sem sucesso.
Alguma ideia? Estou perdendo alguma coisa?
PS: habilitei os sinalizadores de rastreamento globalmente, esta é a edição do SQL Server 2012 Developer
Até onde eu sei, os sinalizadores de rastreamento 8722, 8755 e 8602 nunca foram oficialmente documentados. A última vez que me lembro de 8722 e 8755 sendo eficazes foi no SQL Server 2000, portanto, não é surpreendente que você descubra que eles são ignorados no SQL Server 2012. O sinalizador de rastreamento 8602 ainda funciona no SQL Server 2019 como um sinalizador global ou de inicialização para ignore as dicas de índice especificamente.
Para padrões de consulta específicos, geralmente é possível remover a
FAST n
dica usando guias de plano. Mesmo assim, a melhor solução é fazer com que os desenvolvedores do AX consertem isso no lado do aplicativo.