Pressupostos de contenção de associação no novo estimador cardinalidade diminui o desempenho da consulta no SQL Server 2014 e versões posteriores

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

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

  • Está a utilizar o Microsoft SQL Server 2014 ou uma versão posterior.
  • Executar uma consulta que contém associações e não associação predicados de filtro.
  • Compilar a consulta utilizando o novo Estimador de cardinalidade (Novo "CE").
Neste cenário, ocorrem degradação do desempenho de consulta.

Este problema não ocorre se compilar a consulta através da utilização de "CE" Legacy.
Resolução
No SQL Server 2014 e versões posteriores, pode utilizar o sinalizador de rastreio 9476 para forçar a marcação CE novo para utilizar oContenção Simple pressupostos em vez do predefinido Contenção de basepressupostos." (Consulte o "Mais informações"secção.)

Activação deste sinalizador de rastreio pode melhorar a escolha do plano de consulta sem ter de ser completamente revertido para o modelo de Legacy CE caso se verifiquem as seguintes condições:

  • Detectar uma escolha de plano de consulta não óptimas que provoca uma diminuição do desempenho global para as consultas que contêm as juntas e de associação não filtrar predicados.
  • Pode verificar um inexactidão significativa de uma estimativa "aderir a cardinalidade" (ou seja, o valor real versus número estimado de linhas que diferem significativamente).
  • Esta imprecisão não existe quando compilar as consultas através da utilização de "CE" Legacy.

Pode activar este sinalizador de rastreio globalmente, ao nível da sessão ou ao nível da consulta.

Nota A utilização incorrecta dos sinalizadores de rastreio pode degradar o desempenho de carga de trabalho. Para mais informações, consulte a secção "Introdução" no seguinte artigo na Microsoft Knowledge Base:

2801413 Activar que afectam o plano do SQL Server optimizer comportamento de consulta que pode ser controlado por sinalizadores de rastreio diferente a um nível de consulta específica

Mais Informação
No SQL Server 2014, estimador cardinalidade novo foi introduzido para o nível de compatibilidade de base de dados 120 e maior. A marcação CE novo altera várias hipóteses de legacy "CE" no modelo que é utilizada pelo otimizador de consulta quando a cardinalidade-estimativas para diferentes operadores e predicados.

Uma destas alterações é associada a aderir a hipótese de contenção.

O modelo de Legacy CE assume que os utilizadores sempre consultam dados existente. Isto significa que, para um predicado de associação que envolve uma operação de equijoin de duas tabelas, as colunas associadas existirem em ambos os lados da associação. Na presença de predicados de filtro não associação adicionais contra a tabela de associação, a marcação CE Legacy assume algum nível de correlação para a associação predicados e predicados de filtro sem associação. Isto implica a correlação é designado por confinamento simples.

Em alternativa, a marcação CE novo utiliza contenção de Base como a correlação. O modelo de "CE" nova parte do princípio de que os utilizadores podem consultar os dados que não existem. Isto significa que os predicados de filtro em tabelas separadas não podem correlacionar entre si. Por conseguinte, utilizamos uma abordagem probabilística.

Em vários cenários de ordem práticos, utilizando a hipótese de confinamento Base cria as melhores estimativas. Este procedimento, por sua vez, cria consultas mais eficiente opções de plano. Porém, em algumas situações, utilizando a hipótese de confinamento simples pode proporcionar melhores resultados. Se isto ocorrer, poderá detectar menos eficiente escolha de plano de consulta quando utiliza a nova "CE" em vez de "CE" Legacy.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3189675 - Última Revisão: 09/08/2016 20:19:00 - Revisão: 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
Comentários