Em se tratando de dados armazenados em tabelas, índices provêm mecanismos para acelerar a localização dos dados físicos, evitando a leitura de dados desnecessários do disco.
Os índices podem ser constituídos de:
- Qualquer campo de uma tabela pode servir para criar um índice, como o nome de um funcionário, o número de CPF dele, a data de cadastro dele na empresa etc. Os índices podem ser aplicados em praticamente todos os tipos básicos de dados (números inteiros ou fracionados, caracteres fixos ou variáveis, datas e até mesmo booleano).
- Qualquer parte de um campo de uma tabela. Por exemplo, veremos mais à frente como índices do tipo hash utilizam parte de um campo string para criar subconjuntos menores de resultados.
- Um campo pode possuir vários índices, por exemplo, podemos criar um índice de classificação ascendente e outro de classificação descendente. Ou criar um índice usando a técnica B-tree e outro usando a técnica de Hash para o mesmo campo.
- Um índice pode ser baseado na união de vários campos, como por exemplo, um índice para números de telefone que junte os números de código internacional, o código da área e o número do telefone em si.
Por exemplo, suponha uma tabela de cadastro de funcionário com as informações de ID, nome, estado civil, idade, sexo, CPF, salário, endereço e telefone. Cada um desses campos poderia possuir um índice específico, assim, uma pesquisa por qualquer um dos campos ocorreria de maneira mais rápida do que sem o índice.
Dessa forma, uma tabela pode conter nenhum, um ou vários índices e cada campo da tabela pode conter nenhum, um ou vários índices. Quando um campo possui mais de um índice, o SGBD é capaz de escolher aquele mais eficiente (o que retorna o resultado mais rápido).
Copyright © 2014 AIEC.