Pergunta

Suponha que uma tabela de banco de dados tem uma coluna "Nome", que é definido como chave para a tabela. valores nome usual será "Bill", "Elizabeth", "Bob", "Alice". Pesquisas sobre a mesa será feita pela chave nome também.

O hash os valores otimizar as operações de alguma forma? ou seja, inserir cada nome como algum valor hash do nome (suponho MD5 - 32 bits).

Se assim for -? Não deve este ser um recurso do banco de dados e não algo que o cliente alças

Foi útil?

Solução

Assumindo que o seu banco de dados gera um índice para a chave primária (e eu não posso imaginar que não) que está fazendo isso por você. Então, sim, ele deve absolutamente ser algo que as alças de banco de dados.

Outras dicas

"O hash os valores otimizar as operações de alguma forma?" Na verdade não.

hashes são one-way. Você não pode fazer uma varredura na tabela e reconstruir o nome original.

Se você quiser manter o nome e mistura-de-nome, que você quebrou uma regra fundamental, incluindo dados derivados. Agora uma atualização de nome requer uma atualização de hash.

O "spread meus valores em torno uniformemente" que iria acontecer com um hash, é o trabalho de um índice.

Não, não botar para eles. Seu banco de dados vai construir um índice com base nos dados e hash não vai ajudar. A única vez que pode ajuda é se os seus valores fundamentais eram muito mais tempo do que o hash.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top