1. Erstellen Sie eine Datenbank2. Erstellen Sie eine Tabelle1. Erstellen Sie die Dept-Tabelle CREATE TABLE `dept` ( `id` int(11) NICHT NULL, `deptno` mediumint(9) DEFAULT NULL, `dname` varchar(20) DEFAULT NULL, `loc` varchar(13) DEFAULT NULL, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; 2. Erstellen Sie die emp-Tabelle CREATE TABLE `emp` ( `id` int(11) NICHT NULL, `empon` mediumint(9) DEFAULT NULL KOMMENTAR 'Zahl', `ename` varchar(20) DEFAULT NULL, `job` varchar(9) DEFAULT NULL, `mgr` mediumint(9) DEFAULT NULL COMMENT 'Übergeordnete Nummer', `hirdate` datetime DEFAULT NULL COMMENT 'Job-Startzeit', `sal` decimal(7,2) DEFAULT NULL COMMENT 'Gehalt', `comm` decimal(7,2) DEFAULT NULL COMMENT 'Dividende', `deptno` mediumint(9) DEFAULT NULL COMMENT 'Abteilungsnummer', PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; 3. Parameter festlegenVARIABLEN WIE „log_bin_trust_function_creators“ ANZEIGEN; Standardmäßig deaktiviert. Muss auf 1 eingestellt werden. Da die Funktion zur Erstellung von Mediumint-Feldern in der Tabelle festgelegt ist, kann ein Fehler auftreten GLOBAL festlegen log_bin_trust_function_creators=1; 4. Erstellen Sie eine Funktion1. Generieren Sie eine zufällige Zeichenfolge TRENNUNGSZEICHEN $ CREATE FUNCTION RAND_STR(n INT) gibt VARCHAR(255) zurück BEGINNEN DECLARE chars_str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; DECLARE return_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT 0; WÄHREND ich< n DO SET return_str = COUCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*52),1)); Setze i = i + 1; ENDE WÄHREND; RETURN return_str; ENDE $ 2. Abteilungsnummern nach dem Zufallsprinzip generieren TRENNUNGSZEICHEN $ CREATE FUNCTION RAND_num() gibt INT(5) zurück BEGINNEN DECLARE i INT DEFAULT 0; SETZE i = FLOOR(100+RAND()*10); ZURÜCK i; ENDE $ 5. Erstellen Sie eine gespeicherte Prozedur1. Gespeicherte Prozedur der emp-Tabelle TRENNUNGSZEICHEN $ PROZEDUR ERSTELLEN insert_emp(IN START INT(10),IN max_num INT(10)) BEGINNEN DECLARE i INT DEFAULT 0; SETZEN Sie Autocommit = 0; WIEDERHOLEN #Wiederholen SET i = i + 1; INSERT INTO emp(empon,ename,job,mgr,hiredate,sal,comm,depton) VALUES ((START+i),RAND_STR(6),'VERKÄUFER',0001,CURDATE(),2000,400,RAND_num()); BIS i = max_num ENDE WIEDERHOLUNG; BEGEHEN; ENDE $ 2. Gespeicherte Prozedur in der Dept-Tabelle TRENNUNGSZEICHEN $ PROZEDUR ERSTELLEN insert_dept(IN START INT(10), IN max_num INT(10)) BEGINNEN DECLARE i INT DEFAULT 0; SETZEN Sie Autocommit = 0; WIEDERHOLEN #Wiederholen SET i = i + 1; INSERT INTO dept(abteilungsnummer, dname, standort) WERTE ((START+i), RAND_STR(10), RAND_STR(8)); BIS i = max_num ENDE WIEDERHOLUNG; BEGEHEN; ENDE $ 6. Ausführung1. Führen Sie zuerst die zehn Regeln aus Dieser Fehler ist eine kleine Grube. Hast du sie gefunden? Ich habe sie vorher hinterlassen. Überprüfe sie gemäß den Eingabeaufforderungen. Ausführung erfolgreich! 2. Daten ansehen Das Highlight ist da! Lassen Sie uns das Risiko eingehen und sehen, ob es scheitert. 3. Führen Sie eine Million Einfügungen durch Rufen Sie insert_dept(10001,1000000) auf; 400 s, um eine Million Daten auszuführen, 2500 pro Sekunde. Meine Konfiguration ist zu schlecht. Der vorherige Test war 10.000 pro Sekunde und der beste war 500.000 pro Durchlauf. Eiche Schlafen ZusammenfassenDies ist das Ende dieses Artikels zum schnellen Einfügen von zig Millionen Daten in MySQL. Weitere Informationen zum Einfügen von zig Millionen Daten in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Sammlung einer Zusammenfassung der HTML-Iframe-Nutzung
>>: Beispiel für einen reinen CSS3-Mindmap-Stil
Der Vorgang der Installation der MySQL-Datenbank ...
Mehrweg-Suchbaum Höhe eines vollständigen Binärba...
Vorwort „Wenn es um Bildbearbeitung geht, denken ...
Inhaltsverzeichnis Objekt.prototype.valueOf() Obj...
In diesem Artikel wird der spezifische Code von V...
Ich werde drei Tage benötigen, um den statischen ...
Inhaltsverzeichnis 1. Weltweit registrierte Kompo...
VirtualBox ist ein kostenloses Open Source-Virtua...
In diesem Artikel wird der spezifische Code von T...
Das Element UI-Tabelle verfügt nicht über eine in...
Inhaltsverzeichnis Hintergrund 1. Was ist DNS-Pre...
MySQL-Group-Replication ist eine neue Funktion, d...
Inhaltsverzeichnis Szenario Aufgabe Idee analysie...
Inhaltsverzeichnis 1. Grundlegende Konzepte 1.1 Z...
In diesem Artikelbeispiel wird der spezifische Ja...