Introdução, administração de índices!

Índices

Bom galera, venho aqui introduzir sobre um assunto que certamente é bem conhecido e familiarizado por vocês, índices.

Basicamente sempre aprendemos a criar uma Primary Key que geralmente é o índice clusterizado e indexamos as outras colunas que são usadas como filtro. Ex.: Nome, CPF e com isso a sua consulta vai ficando cada vez mais performática diminuindo o tempo de resposta.

Acontece que com o tempo a tendência de qualquer banco de dados é crescer e o índice que você criou anteriormente para agilizar as suas consulta já não está mais tão performático assim. O tempo de resposta começa a crescer, com isso cresce os incidentes de bloqueios e a situação vai ficando crítica.

E agora para vocês qual seria a solução?

Para muitos aqui a resposta é obvia: “Desfragmentação dos índices”, mas acreditem nem muitos pensam assim.

Em bancos de dados “administrados” por programadores a solução que me foi dada foi o particionamento de tabelas. Poxa! Vamos pensar… Nessa situação em que nem um simples índice está sendo administrado corretamente, você realmente acredita que a solução é particionar as tabelas? Acho que não em. Há várias coisas que deveremos fazer antes de pensar em particionar as tabelas.

Já uma resposta vindo da maioria dos DBA’s é a desfragmentação dos índices. Comandos do tipo INSERT, UPDATE e DELETE na maioria dos casos fragmentam os índices fazendo com que os mesmo já não sejam tão performáticos assim. Porém esse é um caso fácil de se resolver, podemos encontrar várias soluções para esses “probleminhas” na internet, com um simples ALTER INDEX estará tudo resolvido! Segue um comando que muitos usam para realizar a desfragmentação, um comando dinâmico e fácil de ser implementado.

http://technet.microsoft.com/en-us/library/bb838727(v=office.12).aspx

Essa solução funciona, mas deixo aqui para vocês pensarem… É tão simples assim de manter um índice? É só criá-lo, e desfragmentá-lo? Quando o seu banco é muito grande essa continua sendo a solução? Vamos pensando que daqui alguns dias posto o quanto um índice pode te dar dor de cabeça rsrsrs.

Enquanto eu não posto o lado negativo disso tudo, coloco aqui um post muito interessante do Gustavo Maia que explica bem direitinho o funcionamento de um índice:

http://gustavomaiaaguiar.wordpress.com/2012/12/30/introduo-aos-ndices-em-bancos-de-dados-e-no-sql-server/

Até a próxima 😀

Anúncios

2 pensamentos sobre “Introdução, administração de índices!

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