PROBLEMA: Desempenho ruim em uma pilha

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 297861
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Um ou mais dos seguintes sintomas podem acompanhar um desempenho ruim durante insere a uma tabela grande no SQL Server:
  • Inexplicado alto uso da CPU pelo SQL Server, às vezes, até 100 %.

  • SQL Profiler ou SHOWPLAN indica que insere singleton ter largura variações no desempenho.

  • O número de leituras é fora de proporção ao número ou tamanho dos índices e disparadores na tabela.

  • Tempos limite esporádica.

  • O contador de Exames de espaço livre/S do objeto SQL Server: Access métodos no Monitor de desempenho é excessivamente alto recebe todos os fatores envolvidos em seu ambiente específico.
Causa
Uma causa comum para esses sintomas é que insere para uma pilha (uma tabela sem um índice de cluster) geralmente é mais lento do que insere em uma tabela com um índice de cluster (uma tabela em cluster).
Como Contornar
Este artigo descreve alguns motivos por que um índice de cluster pode freqüentemente melhorar desempenho nesse tipo de situação. A Microsoft recomenda que você adicionar um índice de cluster à tabela e testar o efeito do índice em cluster no desempenho.
Mais Informações
No SQL Server 7.0 e posterior, o SQL Server otimiza geralmente insere em uma pilha com a suposição que economizando espaço é mais importante de desempenho. Essa é a compensação que optar por fazer quando você decide deixar uma tabela como uma pilha. Portanto, uma inserção em uma pilha com freqüência gasta tempo procurando por um local para inserir uma nova linha. Por outro lado, uma inserção a uma tabela em cluster não tem que gastar tempo procurando por espaço. Para obter mais detalhes sobre como o espaço é alocado, consulte o tópico "Gerenciando espaço usado por objetos" nos manuais online do SQL Server.

No SQL Server 2000, há mais variações de situações onde você melhor pode otimizar uma inserção para uma pilha que existe no SQL Server 7.0. Com qualquer ambiente inserir alta, é melhor testar seu cenário em particular com e sem um índice de cluster para determinar qual é melhor para sua situação.

As considerações de quais colunas incluir em seu índice de cluster são muito expansivas para incluir aqui. SQL Server Books Online, "Inside Microsoft SQL Server 7.0" e "Inside Microsoft SQL Server 2000" é recursos muito valiosos que ajudarão você a decidir quais colunas incluir no índice de cluster para o seu ambiente. No entanto, um dos fatores mais importantes é que a primeira coluna da chave do cluster deve ser como seletiva possível. Se houver alguns valores distintos na coluna da chave e muitos mais leituras são necessárias para cada consulta.

REFERÊNCIAS

Manuais online do SQL Server

Soukup, Ron. dentro do Microsoft SQL Server 7.0 , Microsoft Press, 1999.

Delaney, Kalen. interno Microsoft SQL Server 2000 , Microsoft Press, 2000.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 297861 - Última Revisão: 12/06/2015 02:30:07 - Revisão: 3.4

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbprb KB297861 KbMtpt
Comentários