Para quebrar o arquivo, o algoritmo de hash usa, geralmente, o último caractere do campo indexado.
- Se é um campo de números, ele quebra em 10 arquivos (um, para números terminados em 0, outro, para terminados em 1, e assim por diante);
- se é um campo de texto, ele quebra em 26 arquivos, um para cada letra (um para textos terminados em A, outro para textos terminados em B, e assim por diante).
Vejamos um exemplo: para o contexto acima, onde o campo de indexação do código de barras contém 44 caracteres numéricos, o algoritmo de hash pode criar 10 arquivos, usando o último dígito do código de barras para separar os arquivos. Um arquivo terá os números de código de barras que terminam em 0, outro terá os números terminados em 1, outro em 2, e assim por diante, até o último arquivo com códigos que terminam em 9. Dessa forma, ao pesquisar um determinado número de código de barras, por exemplo, 12389712738912878192873928718298738982198273283, será usado o arquivo que contém apenas códigos de barra terminados em 3. Com isso, a pesquisa teoricamente será dez vezes mais rápida do que se executasse em um único arquivo.
Algoritmos de hash modernos usam a funcionalidade de checksum para determinar um valor numérico inteiro (4 bytes) para qualquer tipo de string ou número indexado. Dessa forma, ele pode quebrar o arquivo de índice em arquivos ainda menores, e de modo padronizado, de tal forma que a performance de pesquisa fique ainda mais rápida. A funcionalidade de checksum efetua uma operação de comparação binária, similar ao que usamos no cálculo de dígito verificador, gerando um número inteiro como resultado da operação. Para cada número gerado, um índice específico pode ser criado.
Copyright © 2014 AIEC.