Mysql
 sql >> Database >  >> RDS >> Mysql

Passaggi per l'implementazione di hashtable in PHP e Mysql

Penso che la tua idea di hashtable sia un po' [defunta]. Le tabelle hash scompongono le chiavi in ​​elenchi che sono simili. Ad esempio:hashtable basato sulla prima lettera del nome, quindi ci sarebbero 26 liste. Il tuo hash è la prima lettera del nome, il che rende più veloce la ricerca.

md5, sha1 vengono utilizzati per derivare hash utilizzati per verificare che i dati non siano stati manomessi. di solito sono disponibili nelle versioni a 128 o 160 bit. Quindi prende i dati X e li invia tramite un hash per ottenere una stringa alfanumerica a 128 bit che dovrebbe essere la stessa indipendentemente da dove viene eseguita. Di solito è una questione di sicurezza.

MODIFICA: Espansione su Domanda su come derivare le chiavi.

È possibile utilizzare un modulo dei dati per creare una chiave da utilizzare per la riga. Nell'esempio dati % X dove X è il numero totale di chiavi che vorresti avere. Il problema è che X è difficile da trovare; se hai 20 elementi, trasformare X in 20 è fattibile e rende una ricerca rapida poiché ogni elemento ha la sua riga. Ma se hai 1000 articoli, fare % 1000 NON è fattibile. Fare qualcosa come X =75 funzionerebbe meglio per questo.