Um exemplo de como poderíamos ter os dados organizados em um índice secundário seria o que vemos a seguir, com os nomes dos funcionários não mais fisicamente ordenados.

Bloco físico
do disco
Nome Sobrenome Demais campos
da tabela...
1
Daniel Matos Lemos ...
André Matias ...
Eduardo Martins ...
Fábio Lemos Maia ...
2
Mauro Lemos ...
Caio Costa ...
Paulo Gomes ...
Caio Ferreira ...
3
Miriam Leite ...
Bernardo Coelho ...
Miriam Felix Coelho ...
André Costa ...
4
Daniel Costa ...
Felipe César ...
Mauro Benvindo ...
André Leite ...

Observe que para um índice secundário, os valores não são organizados sequencialmente.

Quando o bloco de disco apropriado é transferido para um buffer da memória principal, uma pesquisa pelo registro desejado no bloco pode ser executada. Um índice secundário, em geral, precisa de mais espaço de armazenamento e tempo de busca maior do que um índice primário, devido a seu maior número de entradas. Porém, a melhoria no tempo de pesquisa para um registro qualquer é muito maior para um índice secundário do que para um índice primário, visto que teríamos de fazer uma pesquisa linear no arquivo de dados se o índice secundário não existisse. Para um índice primário, poderíamos ainda usar uma pesquisa binária no arquivo principal, mesmo que o índice não existisse.

O próximo exemplo ilustra a melhoria no número de blocos acessados.

Copyright © 2016 AIEC.