Início > Administração de Banco de Dados, Performance e Tuning, SQL Server Internals > Atualização de estatísticas no SQL Server

Atualização de estatísticas no SQL Server

E ai galerinha, tudo bem com vocês?

Para começarmos bem o ano de 2012 quero propor um desafio para vocês, o que acham?

Quero saber de vocês como o Database Engine do SQL Server decide quando é necessário realizar a atualização das estatísticas de uma tabela.

Quem quiser participar é só colocar a resposta nos comentários.

Grande abraço.

Vitor Fava

Anúncios
  1. Carlos H.
    09/02/2012 às 15:14

    Tem a ver com a seletividade de uma tabela. Quanto mais seletiva mais se torna vialvel a atualização de estatistica de uso desta, correto?

  2. Wellington
    14/02/2012 às 10:17

    De maneira bem resumida:
    Quando 20% dos dados de uma tabela é atualizado e quando a opção Auto Uptade Statistics está habilitado.

    • 14/02/2012 às 10:20

      Grande Wellington, tudo bem?

      Show de bola sua resposta.

      Mas na verdade ainda falta um pequeno detalhe nesse cálculo.

      Sabe me dizer qual é?

      Grande abraço.

  3. Arthur Gregorio
    14/02/2012 às 13:25

    Vitor,

    Vou dar um chute. O Auto Stats Update toma como base no seguinte cálculo: 20% + 500 linhas modificadas (update/insert/delete).

    Estou no caminho correto ?

    Abraços e até mais tarde no curso 6231

    • 14/02/2012 às 13:40

      Fala grande Arthur, tudo bem contigo?

      Ótimo chute hein.

      Realmente essa é a métrica que o otimizador de consulta utiliza para a atualização das estatísticas, mas agora me responda uma coisa, como ele consegue saber que 20% das linhas foram alteradas?

      🙂

  4. Arthur Gregorio
    14/02/2012 às 14:06

    Ah faltou um detalhe, se o tamanho da tabela cresceu de 0 para >0 rows é realizado a atualização também.

  5. Arthur Gregorio
    14/02/2012 às 15:49

    O chute vai ter que ser maior.

    Deve usar a tabela (colmodctrs) para efetuar o cálculo. Agora se tiver algum filtro, exemplo seleção de 50% das linhas, neste caso o colmodctrs é multiplicado por 0.5

    Mas pra ser sincero não entendi totalmente o funcionamento do Auto Uptade.

  6. Dhiego Piroto
    16/02/2012 às 10:35

    fala tio, beleza?
    cara, só entrei aqui agradecer as ultimas semanas de curso, e aproveitar para dizer que obtive êxito na obtenção da minha primeira certificação. (70-433)

    abraço!

  7. 03/04/2012 às 17:09

    Acredito que o Database Engine faz um calculo matemático através do valor obtido na columa ROW from DBCC SHOW_STATISTICS statement.

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: