Indice e estatisticas SQL Server
27/06/2017
0
Boa tarde,
Tenho uma pergunta bem basica que ainda nao entendo.
Por exemplo: tenho um indica fragmentado a 95%.
Neste caso, qual seria a diferenca entre fazer un rebuild e atualizar as estatiscicas deste indice?
Sempre que tenho indices com alta fragmentacao o correto seria que fazer o rebuild e atualizar as estatisticas.
Muito obrigado,
Bruno
Tenho uma pergunta bem basica que ainda nao entendo.
Por exemplo: tenho um indica fragmentado a 95%.
Neste caso, qual seria a diferenca entre fazer un rebuild e atualizar as estatiscicas deste indice?
Sempre que tenho indices com alta fragmentacao o correto seria que fazer o rebuild e atualizar as estatisticas.
Muito obrigado,
Bruno
Bruno Cunha
Curtir tópico
+ 0
Responder
Posts
03/07/2017
David Styveen
Boa tarde, Bruno.
São coisas distintas. As estatísticas são criadas / atualizadas com base nos indexes. Se o Index está fragmentado, significa que ele demorara um certo tempo até responder toda a requisição. Ao desfragmentá-lo, você otimiza esse 'tempo', mas a estatística ainda não tem essa informação.
Portanto ao executar uma query ele se baseará na forma do Index antigo. Por isso a necessidade de atualizar a estatística após a desfragmentação dos indexes.
Então, imagine assim: você precisa ir da sua casa para o trabalho e você tem um caminho pra isso. São criadas novas ruas que podem ser alternativas para esse caminho e com isso há também novos tráfegos. Mas você não tem essa informação atualizada com todas as opções (fragmentação) e para isso tem que ficar pesquisando na hora de ir para o trabalho. Pensando nisso, alguém estuda todas as possibilidade considerando distância, tráfego e tempo e ordena as melhores rotas (desfragmentação). A partir disso, você lê essa publicação e toma suas decisões (atualização das estatísticas).
Essa é uma forma bem ampla de pensamento. Tentei simplificar o máximo para ter um melhor entendimento. Qualquer dúvida estamos ai.
Abraços.
São coisas distintas. As estatísticas são criadas / atualizadas com base nos indexes. Se o Index está fragmentado, significa que ele demorara um certo tempo até responder toda a requisição. Ao desfragmentá-lo, você otimiza esse 'tempo', mas a estatística ainda não tem essa informação.
Portanto ao executar uma query ele se baseará na forma do Index antigo. Por isso a necessidade de atualizar a estatística após a desfragmentação dos indexes.
Então, imagine assim: você precisa ir da sua casa para o trabalho e você tem um caminho pra isso. São criadas novas ruas que podem ser alternativas para esse caminho e com isso há também novos tráfegos. Mas você não tem essa informação atualizada com todas as opções (fragmentação) e para isso tem que ficar pesquisando na hora de ir para o trabalho. Pensando nisso, alguém estuda todas as possibilidade considerando distância, tráfego e tempo e ordena as melhores rotas (desfragmentação). A partir disso, você lê essa publicação e toma suas decisões (atualização das estatísticas).
Essa é uma forma bem ampla de pensamento. Tentei simplificar o máximo para ter um melhor entendimento. Qualquer dúvida estamos ai.
Abraços.
Responder
Clique aqui para fazer login e interagir na Comunidade :)