Executei o Tuning Advisor em uma carga de trabalho que salvei. Em suas recomendações estão muitas estatísticas de criação e algumas criação de índices. Eu sei que os índices irão melhorar o desempenho, mas alguém pode explicar como a coleta de estatísticas seria uma melhoria no desempenho.
Responder1
Em um nível muito alto, as estatísticas são mantidas para que o Query Optimizer do SQL Server possa determinar a melhor maneira de executar as instruções. Os planos de execução são gerados para cada operação e as estatísticas ajudam a determinar o plano de execução mais eficiente a ser usado para concluir uma tarefa.
Há uma tonelada de informações por aí sobre esse assunto. Antes de implementar sugestões de ajuste, você deve ter certeza absoluta do que elas estão fazendo. Por exemplo, nem sempre é certo que adicionar um índice melhorará o desempenho. Às vezes os efeitos são negativos. Manter as estatísticas atualizadas, porém, é uma peça vital.
Aqui está um artigo do MSDN que descreve as estatísticas que o Query Optimizer usa no SQL 2008.
Estatísticas usadas pelo Query Optimizer no Microsoft SQL Server 2008
Eu também recomendaria a leitura das ofertas destes especialistas:
- Paulo Randal
- Grant Fritchey
- Brent Ozar(e companhia)
Responder2
servidor SQLO Tuning Advisor é uma ferramenta projetada expressamente para sistemas Microsoft SQL Server que permite o ajuste do banco de dados de diversas maneiras diferentes. Ele pode ser usado em aplicativos de ajuste online e offline, dependendo das necessidades do indivíduo ou da empresa. Ele tem a capacidade de melhorar significativamente o desempenho geral das pesquisas, ajustando vários elementos, como índices. Ele também pode ser usado para otimizar um SQL Server criando ou excluindo partições e índices e modificando esses tipos de elementos de uma forma projetada para tornar as coisas o mais rápido possível.
A coleta de estatísticas seria uma melhoria de desempenho do SQL Server Tuning Advisor por vários motivos diferentes. Essas próprias estatísticas são objetos compostos de informações relativas à maneira como os dados e valores são distribuídos nas colunas de uma tabela ou quando estão na visualização indexada. Depois que as estatísticas necessárias forem coletadas, o SQL Server Tuning Advisor usará essas informações para estimar o número de linhas no resultado de uma consulta específica. A estimativa é chamada de “estimativa de cardinalidade” e as informações permitem que o aplicativo crie um plano de consulta de alta qualidade. Isso mostrará uma melhoria substancial no desempenho em relação à maneira como as consultas são tradicionalmente executadas.
Oferecer uma melhoria de desempenho a um SQL Server com o SQL Server Tuning Advisor é semelhante em conceito a melhorar a função "Pesquisa" no sistema operacional Microsoft Windows, permitindo a indexação. Se o SQL Server Tuning Advisor for capaz de usar estatísticas para estimar a aparência dos resultados da consulta, ele poderá gerar esses resultados mais rapidamente do que seria se nenhuma estatística estivesse presente. Resultados de consulta mais rápidos darão lugar a um ambiente de trabalho mais tranquilo em geral