JÁ RODEI REBUILD MAS MEU ÍNDICE NÃO DESFRAGMENTA !!!!


 

Pessoal, uma pergunta que vejo frequentemente em fóruns é :

Já rodei rebuild, reorganize…coloquei até galinha preta na encruzilhada….e meu índice não desfragmenta. Porque ?

Galera, tudo se baseia no número de páginas do índice.

Rode a sys.dm_db_index_physical_stats e procure na coluna pagecount.

select *
from sys.dm_db_index_physical_stats(DB_ID(),OBJECT_ID(‘SUATABELA’),null,null,’detailed’)

 
Se estiver abaixo de 1000 páginas (ou próximo..caso seja acima), não se preocupe.
O Engine não vai se dar ao trabalho de desfragmentar pois provavelmente o índice inteiro está em cache, e então a fragmentação passa a ser irrelevante.
Lembre-se Page Split é operação de IO.

 

Outra coisa, tabelas heap dificilmente tem fragmentação, pois não tem uma ordem física definida e as páginas vão pro final do arquivo.
Quando uma uma coluna é atualizada e não tem espaço na página, cria-se ponteiros. Então cria-se uma nova página, a linha vai pra ela e é colocado uma referência a este ponteiro na nova página.
Eu vejo bastante dizer que basta colocar o índice cluster e dropar depois pra desfragmentar, mas isso  é considerado uma prática ruim pelo Paul Randal … ele não fala porque.

 

Mais uma, se você reorganizar precisa atualiza estatísticas. Rebuild não precisa !!!!

Quer ler mais sobre o assunto ? Vai que esse louuuuuuco tá falando besteira né!!! (eu posso ate falar, mas o carinha ai do link não)

http://www.sqlskills.com/blogs/paul/

 

“Tudo bem se não deu certo
Eu achei que nós chegamos tão perto
Mas agora com certeza eu enxergo
Que no fim eu amei por nós dois

Mas você lembra!
Você vai lembrar de mim
Que o nosso amor valeu a pena
Lembra é o nosso final feliz
Você vai lembrar…
Vai lembrar…sim…
Você vai lembrar de mim.”

Você Vai Lembrar De Mim

Nenhum de Nós

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 SQL SERVER EM GERAL. Bookmark the permalink.

4 Responses to JÁ RODEI REBUILD MAS MEU ÍNDICE NÃO DESFRAGMENTA !!!!

  1. Demétrio says:

    Fala Lala,Mandou bem hein? Como sempre né? Muito interessante e vai ajudar muita gente com certeza.Abraços

  2. Laerte says:

    E ai Dedé (que meigo isso..hauhauhahua)…Cara valeu !!! Bom ter você por aqui..Ainda mais que vai moderar minha apresentação de Powersehll ..não poderia ter encontrado alguém mais apto pra isso !!!!

  3. Thiago says:

    Boa a dica meu caro Laerte! :DMuita gente precisa aprender a extrair o máximo das dmv\’s.E eu curti o fim também! Nenhum de Nós rox! :DAbraço meu rapaz!

  4. Laerte says:

    Grande Thiago.. meu companheiro de apresentação..Valeu Cara !!!.. Sempre bom ler coisas assim de profissionais como você velhinho !!! Gostou do Som né…..show de bola

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