Heim  >  Artikel  >  Datenbank  >  Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

藏色散人
藏色散人nach vorne
2020-04-22 13:18:015845Durchsuche

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.

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

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.

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

Beginnen Sie mit dem Importieren von Daten. Sehen Sie sich einfach das Bild an und finden Sie es selbst heraus.

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

Beziehen Sie sich auf Ihre eigene Datenbankquelle, legen Sie die Kodierung fest

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

Beziehen Sie sich auf Ihren eigenen Datenbankinhalt.

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

Ü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.

Informationen zum Erstellen einer cmd5-Datenbank auf Milliardenebene mit MySQL und Abfragen auf Millisekundenebene (vollständiger Prozess)

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen