Als ich kürzlich MySQL studierte, stieß ich auf das Problem der geringen Effizienz der Stapeleinfügung und Stapelaktualisierung von MySQL. Die Effizienz von MySQL selbst ist hier recht gut Methoden ohne Vergleich der Zeit wurde die Effizienz der tatsächlichen Testergebnisse erheblich verbessert.
Tabellenstruktur erstellen
1 DROP TABLE IF EXISTS `b_student`; 2 CREATE TABLE `b_student` ( 3 `id` int(11) NOT NULL AUTO_INCREMENT, 4 `examcode` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '', 5 `stucode` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '', 6 `name` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '', 7 PRIMARY KEY (`id`) 8 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Abfrageoptimierung Das Szenario besteht darin, festzustellen, ob der Prüfungscode existiert
SELECT 1 FROM b_student WHERE examcode='10001' limit 1;
Das Abfrageergebnis 1 bedeutet, dass es existiert, und das Ergebnis null bedeutet, dass es nicht existiert
Batch-Einfügungsoptimierung, Szenario-Batch-Einfügung von Studenteninformationen
INSERT INTO `b_student` (`examcode`,`stucode`,`name`) VALUES('10001','10001','张三'),('10002','10002','李四');
Batch-Update-Optimierung, Szenario-Batch-Update von Studenteninformationen
Batch-Einfügung führt hier zwei Methoden ein (die Tabelle muss einen Primärschlüssel haben), und es gibt andere Methoden.
1. Die Methode „Ersetzen in“ aktualisiert eine oder mehrere Spalten basierend auf dem Primärschlüssel. Hinweis: Diese Methode löscht die Spalten außer ID und Name.
replace into b_student (id,name) values (1,'张三丰'),(2,'李思思');
2. Einfügen in ... bei der Aktualisierungsmethode mit doppeltem Schlüssel, aktualisieren Sie die nach der Aktualisierung definierten Spalten entsprechend dem Primärschlüssel
insert into b_student (id,stucode) values (1,'20001'),(2,'20002') on duplicate key update stucode=values(stucode);
Die beiden oben genannten Methoden sind bei Batch-Updates sehr effizient. Wählen Sie entsprechend der tatsächlichen Situation.
Das Obige ist die detaillierte Einführung in MySQL-Abfrage, Batch-Einfügung, Batch-Aktualisierung und Optimierung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!