1.3 - Pesquisa linear

Quando um índice não existe e uma pesquisa é solicitada a um determinado campo de uma tabela, normalmente ocorre o que denominamos de pesquisa linear.

A pesquisa linear nada mais é do que a avaliação um a um de cada registro, a fim de se identificar se aquele registro satisfaz ou não a condição da pesquisa.

Vamos a mais um exemplo. Suponha que pesquisemos por “josé” na tabela de funcionários (campo nome). Se houver um índice para nomes, o SGBD irá processar a consulta no índice, e este retornará a posição de todos os registros que contenham “josé” no nome. Daí o SGBD coleta os demais dados solicitados nas posições fornecidas pelo índice e retorna os dados para o usuário.

Já sem o índice, o SGBD testará um a um todos os funcionários cadastrados; para cada elemento testado, em caso positivo, ele coleta os dados solicitados, em caso negativo, ignora e vai para o próximo registro. Certamente, essa segunda opção demora muito mais (veremos um exemplo logo a seguir quando explicarmos a técnica de árvore binária).

Muitos SGBDs são capazes de criar índices automaticamente, à medida que pesquisas lineares vão acontecendo no banco de dados, dessa forma, o SGBD consegue gerar uma otimização automática de acesso a dados. Por vezes, ao momento do projeto do sistema, é possível já definir quais serão os índices criados. Normalmente criam-se índices para chaves primárias e estrangeiras e todos os demais campos pesquisáveis do sistema de informação. Algumas operações, como a operação LIKE, não são possíveis de usar índices; nesses casos, uma pesquisa linear é obrigatória.
Copyright © 2014 AIEC.