Momentan sunteți offline, așteptați să vă reconectați la internet

Associação confinamento pressuposição o estimador de cardinalidade novo degrada o desempenho de consulta no SQL Server 2014 e posterior

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3189675
Sintomas
Considere o seguinte cenário:

  • Você está usando o Microsoft SQL Server 2014 ou uma versão posterior.
  • Você executa uma consulta que contém associações e não-união predicados de filtro.
  • Compilar a consulta usando o novo Estimador de cardinalidade (Novo CE).
Nesse cenário, você enfrentar degradação do desempenho da consulta.

Esse problema não ocorre se você compilar a consulta usando o CE herdado.
Resolução
No SQL Server 2014 e versões posteriores, você pode usar o sinalizador de rastreamento 9476 para forçar o CE novo para usar oConfinamento simples suposição em vez do padrão Base de contençãosuposição." (Consulte o "Mais informações"seção).

Ativar o sinalizador de traço pode melhorar a escolha do plano de consulta sem precisar reverter totalmente o modelo Legacy CE se as seguintes condições forem verdadeiras:

  • Você enfrenta uma opção de plano de consulta com qualidade inferior que faz com que uma degradação do desempenho geral para consultas que contêm junções e não-união predicados de filtro.
  • Você pode verificar uma significativa imprecisão em uma estimativa "ingressar cardinalidade" (isto é, o valor real em comparação com o número de linhas que diferem significativamente).
  • Essa imprecisão não existe quando você compilar consultas usando o CE herdado.

Você pode ativar o sinalizador de traço globalmente, no nível da sessão ou no nível da consulta.

Observação: Usar sinalizadores de rastreamento incorretamente pode degradar o desempenho da carga de trabalho. Para obter mais informações, consulte a seção "Introdução" do seguinte artigo da Base de Conhecimento Microsoft:

2801413 Permitir que afetam o plano do SQL Server consulta optimizer comportamento que pode ser controlado pelos sinalizadores de rastreamento diferentes em um nível de consulta específica

Mais Informações
No SQL Server de 2014, o estimador de cardinalidade novo foi introduzido para o nível de compatibilidade do banco de dados maior e 120. CE novo altera várias considerações do CE herdado no modelo que é usado pelo otimizador de consultas quando ele estimativas de cardinalidade para diferentes operadores e predicados.

Uma dessas alterações está relacionada ao ingressar a suposição de confinamento.

O modelo Legacy CE pressupõe que os usuários sempre consultar dados que existe. Isso significa que, para um predicado de associação que envolve uma operação equijoin de duas tabelas, as colunas associadas existem em ambos os lados da associação. Na presença de predicados de filtro adicional de não-união com base na tabela de junção, o CE Legacy pressupõe algum nível de correlação para os predicados de junção e predicados de filtro não-união. Isso implicava correlação é chamada de confinamento simples.

Como alternativa, o novo CE usa detenção da Base de dados de como a correlação. O modelo de CE novo pressupõe que os usuários podem consultar dados que não existem. Isso significa que os predicados de filtro em tabelas separadas não podem ser correlacionados uns com os outros. Portanto, usamos uma abordagem probabilístico.

Para muitos cenários práticos, usando a suposição de confinamento de Base cria melhores estimativas. Isso, por sua vez, cria consulta mais eficiente opções do plano. No entanto, em algumas situações, usando a suposição de confinamento simples pode fornecer o melhores resultados. Se isso ocorrer, você pode ter menos eficiente opção de plano de consulta ao usar o CE novo o CE herdado.

Aviso: este artigo foi traduzido automaticamente

Proprietăți

ID articol: 3189675 - Ultima examinare: 09/08/2016 20:19:00 - Revizie: 1.0

Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Web, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2016 Express, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Express

  • kbmt KB3189675 KbMtpt
Feedback
nerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">