Heim > Datenbank > MySQL-Tutorial > Hauptteil

Einführung in die Details zur Optimierung der MySQL-Abfrage-Batch-Einfügung und Batch-Aktualisierung

黄舟
Freigeben: 2017-03-04 14:36:42
Original
2162 Leute haben es durchsucht

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;
Nach dem Login kopieren

Abfrageoptimierung Das Szenario besteht darin, festzustellen, ob der Prüfungscode existiert

SELECT 1 FROM b_student WHERE examcode='10001'  limit 1;
Nach dem Login kopieren

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','李四');
Nach dem Login kopieren

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,'李思思');
Nach dem Login kopieren

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);
Nach dem Login kopieren

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 (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!