Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Schritte zur Implementierung von Hashtable in PHP und Mysql

Ich denke, Ihre Idee einer Hashtabelle ist ein wenig [verstorben]. Hashtables unterteilen Schlüssel in Listen, die gleich sind. Zum Beispiel:Hashtabelle basierend auf dem Anfangsbuchstaben des Namens, also gäbe es 26 Listen. Dein Hash ist der Anfangsbuchstabe des Namens, was dann die Suche beschleunigt.

md5, sha1 werden verwendet, um Hashes abzuleiten, die verwendet werden, um zu überprüfen, ob Daten nicht manipuliert wurden. Sie sind normalerweise entweder in 128-Bit- oder 160-Bit-Versionen erhältlich. Es nimmt also X-Daten und sendet sie durch einen Hash, um eine 128-Bit-alphanumerische Zeichenfolge zu erhalten, die unabhängig davon, wo sie ausgeführt wird, gleich sein sollte. Dies ist normalerweise eine Sicherheitssache.

BEARBEITEN: Erweitern auf Frage, wie man Schlüssel ableitet.

Sie können einen Modul der Daten verwenden, um einen Schlüssel für die Zeile zu erstellen. In den Beispieldaten % X, wobei X die Gesamtzahl der Schlüssel ist, die Sie haben möchten. Das Problem dabei ist, dass X schwer zu finden ist; Wenn Sie 20 Elemente haben, ist es möglich, aus X 20 zu machen, und macht es zu einer schnellen Suche, da jedes Element seine eigene Zeile hat. Aber wenn Sie 1000 Artikel haben, dann ist es NICHT machbar, % 1000 zu machen. Etwas wie X =75 würde dafür besser funktionieren.