Vorwort:
Ich habe in letzter Zeit auch mit Datenbanken herumgespielt, und ich habe das Gefühl, dass normale Maschinen immer noch etwas hinterherhinken, wenn es um Datenbanken geht. Die Volltextsuche ist langsam und dauert mehr als eine Minute.
Aber die cmd5-Bibliothek ist sehr gut, eine Datenbank auf Milliardenebene, auf Millisekundenebene.
Okay, fangen wir an. Zuerst benötigen Sie eine MySQL-Datenbank.
Umgebung:
apmserv5.2.6 php+mysql Navicat for MySQL
Ich habe diese beiden Softwareprogramme empfohlen. Die Installation ist sehr einfach, beide sind auf Chinesisch und daher auch für Anfänger leicht zu bedienen.
Weitere Dinge, die benötigt werden, sind ein Computer und etwa 10 GB Festplattenspeicher. Ein größeres Wörterbuch.
Beginnen wir mit dem ersten Teil. Öffnen Sie die Navicat für MySQL-Verbindung. Es ist sehr einfach, daher werde ich hier keinen Screenshot machen.
Empfohlen: „MySQL-Video-Tutorial“
Starten Sie die Erstellung der Tabelle, hash_cmd5, Feld, Klartext, cmd5_16, cmd5_32
sind alle auf „Nicht“ gesetzt leer, der erste ist 255, der zweite ist 16 und der dritte ist 32 Bit.
Beginnen Sie mit dem Importieren von Daten. Sehen Sie sich einfach das Bild an und finden Sie es selbst heraus.
Beziehen Sie sich auf Ihre eigene Datenbankquelle, legen Sie die Kodierung fest
Beziehen Sie sich auf Ihren eigenen Datenbankinhalt.
Überspringen Sie den vierten und fünften Teil direkt.
Starten Sie den sechsten Schritt. Sie müssen nur den Klartext festlegen, andere Felder müssen nicht festgelegt werden, aber die Voraussetzung muss darin bestehen, den in der Datenbank gefundenen Klartext auszuwählen, sonst ist er bedeutungslos.
Gehen Sie direkt zu Schritt 8, um Daten zu importieren.
Lassen Sie es uns selbst ausprobieren. Der nächste Schritt besteht darin, Ihnen beizubringen, wie Sie cmd16 32-Bit stapelweise generieren.
Einzeltabellenimport mit hoher Geschwindigkeit
Angenommen: Ihre Textdatei befindet sich in d:aa.txt
Tabellenname: t
Feldname: c
Der folgende Befehl
mysql> load data local infile 'd:/aa.txt' into table cmd5 lines terminated by ',' (cmd5_txt);
erstellt 32 16-Bit-MD5 mit einem Klick
update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1 update `hash` set cmd5_32 = md5(plaintext) where 1=1
Für einige Experten ist dies so Die Methode ist instabil und so weiter. Beim Testen auf einer einzelnen Maschine entsteht kein Druck auf eine einzelne Tabelle mit 600 Millionen.
Das obige ist der detaillierte Inhalt vonInformationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!