sql >> Database >  >> RDS >> Mysql

Stappen bij het implementeren van hashtable in PHP en Mysql

Ik denk dat je idee van een hashtabel een beetje [opgeheven] is. Hashtabellen splitsen sleutels op in lijsten die op elkaar lijken. Bijvoorbeeld:hashtabel op basis van de eerste letter van de naam, dus er zouden 26 lijsten zijn. Uw hash is de eerste letter van de naam, waardoor u sneller kunt zoeken.

md5, sha1 worden gebruikt om hashes af te leiden die worden gebruikt om te controleren of er niet met gegevens is geknoeid. ze komen meestal in 128-bits of 160-bits versies. Er zijn dus X-gegevens nodig en stuurt deze door een hash om een ​​128-bits alfanumerieke reeks te bedenken die hetzelfde zou moeten zijn, ongeacht waar het wordt gedaan. Dit is meestal een beveiligingsprobleem.

BEWERKEN: Uitbreiden op Vraag over het afleiden van sleutels.

U kunt een modulus van de gegevens gebruiken om een ​​sleutel voor de rij te maken. In de voorbeeldgegevens % X waarbij X het totale aantal sleutels is dat u zou willen hebben. Het probleem hiermee is dat X moeilijk te vinden is; als je 20 items hebt, dan is het mogelijk om van X 20 te maken en het een snelle zoektocht te maken, aangezien elk item zijn eigen rij heeft. Maar als je 1000 items hebt, dan is % 1000 NIET haalbaar. Iets als X =75 doen zou hiervoor beter werken.



  1. Cursorgebaseerd recordgegevenstype met cursor die meerdere waarden retourneert in Oracle Database

  2. Array in Mysql WAAR?

  3. Best practice voor een mysql-gegevensversiesysteem

  4. Hoe JPA Repository Query definiëren met een Join?