Sintomas
Assuma que tem o Microsoft SQL Server 2017 ou 2019 instalado, e que funciona com Estimativa de Cardinalidade padrão (CE). Executa-se uma consulta que tem um filtro predicado na coluna Col1. Consulta os predicados têm SUPERIOR, INFERIOR ou RTRIM intrínsecos. Col1 tem estatísticas para ser usado pelo otimizador. Neste cenário, pode observar cardinalidade imprecisa estimativas e que o SQL Server usa um plano ineficiente. Seguem-se algumas consultas que têm predicados:
SELECIONE person_id A partir da Pessoa ONDE (e-mail LIKE UPPER(N'@live.com%'))
SELECIONE person_id A partir da Pessoa ONDE (e-mail = UPPER(N'msft@live.com'))
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Resolução
Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:
Sobre as atualizações cumulativas para o SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Nota Esta correção requer um dos A seguir, a concretizar-se:
-
QUERY_OPTIMIZER_HOTFIXES configuração de âmbito de base de dados definida para ON
-
Use a sugestão de USO ENABLE_QUERY_OPTIMIZER_HOTFIXES
-
Ativar a bandeira de rastreio 4199
Referências
Conheça a terminologia que a Microsoft utiliza para descrever atualizações de software.