Uma opção de plano de consulta não ideal faz com que o desempenho ruim quando valores fora do intervalo representado nas estatísticas serão pesquisados em SQL Server 2016 e 2017

Aplica-se a: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core Mais

Sintomas


Considere o seguinte cenário:
  • Usar uma configuração de estimativa de cardinalidade (CE) que corresponde ao nível de compatibilidade do banco de dados 120 ou um nível superior para o 2016 do Microsoft SQL Server e do sistema de 2017.
  • Você executa uma consulta que contém um predicado de pesquisa.
  • A consulta procurará valores que são menores ou iguais a qualquer número que seja menor que o valor mínimo de RANGE_HI_KEY que é armazenado no objeto de estatísticas. Ou, a consulta procurará valores que são maiores do que o valor máximo de RANGE_HI_KEY para as mesmas estatísticas.
Nesse cenário, o otimizador de consulta overestimates o número de linhas. Isso pode causar uma consulta menos ideal planejar escolha e baixo desempenho.

Resolução


A correção para esse problema está incluída nas seguintes atualizações cumulativas para o SQL Server:


Observação: Depois de instalar esta atualização, você deve habilitar o sinalizador de rastreamento 4199 para ativar essa correção. Para ativar o sinalizador de rastreamento 4199, consulte o tópico de Sinalizadores de rastreamento (Transact-SQL) no site da Microsoft Developer Network (MSDN).
 

Status


A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Referências


Conheça a terminologia que a Microsoft usa para descrever as atualizações de software.