Você faz manuntenção nos índices ? Não ?..Bad Idea man


 

Galera, post rápido só para falar o QUANTO é importante a manutenção nos índices.

Presto serviço remoto pra uma empresa que faz toda a parte logistica de uma grande rede de supermercados. São 30 filiais e 2 armazens online 24 hrs.

Como sou contratado da softwarehouse, minha principal atribuição é avaliar as procedures que vão ser colocadas em produção e dar suporte aos desenvolvedores. Na parte de administração de banco, esta rede supostamente tem um DBA.

O servidor é altamente transacional e muito, muito, muito ocupado. Alto número de inserts, deletes e update.

Bom, quinta feira fui acionado pelo pessoad da softwarehouse pois ninguem conseguia trabalhar. Dei uma olhadinha no servidor e os blocks estavam parecendo luzinhas em arvore de natal.

A base de conexões ativas chega a 3.000 e haviam +- 200 processos bloquados com waittime incriveis.

Peguei uma querie em especial e fui ver o plano de manutenção. Estimated de uma maneira e atual completamente diferente.

Bom, peguei as tabelas envolvidas e atualizei as estatisticas, a coisa melhorou bem.

No final de semana foi feito o rebuild e ontem e hoje acham que fizeram milagre pois os bloqueios são minimos e bem rápidos.

Conversando com meu amigo QP Man Fabiano Query Processor Amorim (twitter|blog), ele me explicou que as estatisticas que são atualizadas no rebuild são as dos índices , ou seja, as criadas pelo SQL Server (auto create statistics) ou as criadas manualmentes não são atualizadas.

Por isso uma boa prática é mesmo após o rebuild, das um UPDATES STATISTICS w_sys_blablabla with FULL.

A duvida surgiu e como sempre Fabiano ajudou a resolver a questão. Como eu sempre digo, você não precisa ser o melhor se é amigo pessoal dele hahahaha.(eu tenho o cel dele…a coisa ficou feia é só ligar).

Vejam a resolução aqui –> Plano de manutenção, REINDEX VS Estatisticas

É isso ai galera cuidem dos indices como se fosse sua esposa, filha, carro, bilhete premiado da sena, ultima coca cola num deserto, namorada nova , Zap e 3 ou casal preto em jogo de truco 🙂

Parti !!!!

About Laerte Junior

Laerte Junior Laerte Junior is a SQL Server specialist and an active member of WW SQL Server and the Windows PowerShell community. He also is a huge Star Wars fan (yes, he has the Darth Vader´s Helmet with the voice changer). He has a passion for DC comics and living the simple life. "May The Force be with all of us"
This entry was posted in Algo que Esqueci de Categorizar. Bookmark the permalink.

6 Responses to Você faz manuntenção nos índices ? Não ?..Bad Idea man

  1. Yan says:

    Muito bom o post Laerte! Simples e objetivo com um belo exemplo da vida real! ahsuah 🙂

  2. Laerte says:

    Grande Yan, valeu velho. 🙂

  3. Fabiano Neves says:

    Grande Laerte… Huahuuha "casal preto" foi ótima…

  4. Felipe says:

    Boa Laerte, os "exemplos da vida real" como disse o Yan são sempre os melhores!!Valeu amigo..

  5. Laerte says:

    Fala Felipão..com ceteza cara :)…hahaha tu nunca jogou truco no cursinho né Fabiano ?hahahhahha

  6. Fabrício says:

    Massa… Ja tinha passado por isso. Havia lido um post em algum lugar dizendo que não era necessário atualizar as estatísticas após o REBUILD, mas eu verifiquei que só as estatísticas dos índices eram atualizadas… Aproveitando o assunto:Para quem tem tabelas muito grandes e não possui uma boa janela para manutenção, não seria legal apenas atualizarmos as estatísticas que não são dos índices? Pois o comando UPDATE STATISTICS Table WITH FULLSCAN demora um bocado!Faria um select na tabela abaixo para selecionar somente as estatisticas necessasrias e depois um loop para atualizar as estatíticas:select name, Stats_date(id, indid) DataAtualizacaofrom sysindexeswhere id = Object_id(\’table\’)Acham que essa idéia é válida? Vou comentar isso no blog do Fabiano tb…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s