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
Kapseln Sie eine Navigationsleistenkomponente in ...
Ergebnisse erzielen Implementierungscode html <...
Das CSS-Zählerattribut wird von fast allen Browse...
Inhaltsverzeichnis Same-Origin-Richtlinie Ajax-An...
Der <area>-Tag definiert einen Bereich in e...
1. Konzeptanalyse 1: UE User Experience <br /&...
Vorwort Jeder weiß, wie man ein JAR-Paket unter L...
Ich habe mich kürzlich auch mit der Leistungsopti...
Vorwort Einführung Lombok ist ein praktisches Too...
Vorstehend: Dieses Dokument basiert auf der Annah...
<br />Ich freue mich sehr, an dieser Folge d...
Möglicherweise sehen Sie häufig den folgenden Eff...
1.1 Einleitung Durch Aktivieren des Slow Query Lo...
Wie unten dargestellt: Kopieren Sie die Dateien d...
Tatsächlich gibt es viele entsprechende Schreibme...