domingo, 9 de outubro de 2011

O que é um índice?

Salve salve papeiros.

Este será o primeiro post de uma série que pretendo publicar sobre o assunto Índices no banco de dados, inicialmente estarei exemplificando na teoria o que é um índice, e nos próximos post's como utiliza-los, onde utiliza-los e etc.


Vejamos o que diz a Wikipédia sobre índices:
"Índice, no contexto da estrutura de dados, é uma referência associada a uma chave, que é utilizada para fins de otimização, permitindo uma localização mais rápida de um registro quando efetuada uma consulta. Em termos teóricos é uma estrutura que possibilita acesso a um item indexado desde que a busca tenha complexidade inferior a complexidade linear, podendo ser logarítmica ou constante.
No contexto de banco de dados, um índice é uma estrutura (ou arquivo) auxiliar associado a uma tabela. Sua função é acelerar o tempo de acesso às linhas de uma tabela, criando ponteiros para os dados armazenados em colunas específicas. O banco de dados usa o índice de maneira semelhante ao índice remissivo de um livro, verifica um determinado assunto no índice e depois localiza a sua posição em uma determinada página."

A Wikipédia já nos resumiu muito bem o assunto. Considero que a melhor explicação que já vi até hoje sobre índice está resumida acima:

"O banco de dados usa o índice de maneira semelhante ao índice remissivo de um livro".
Em outras palavras, você tem um livro de SQL com 1200 páginas e precisa encontrar justamente o assunto sobre índice, o que você faz?

1º - Folheia todo o livro procurando o assunto?

2º - Lê o índice remissivo, localiza a página onde está o assunto e vai até ela?

Assim como você, o banco de dados é inteligente e utiliza a segunda opção, logo, o resultado da pesquisa solicitada é retornado de maneira mais rápida, pois o banco sabe exatamente onde está o que precisa.

Bom, por hoje é só, abraços e até a próxima.

Nenhum comentário:

Postar um comentário