बल्क INSERT सिंटैक्स
एकाधिक INSERT स्टेटमेंट के बजाय एक ही स्टेटमेंट में कई मान सूचीबद्ध करना बहुत तेज़ होता है।
धीमा तरीका (न करें)
INSERT INTO table VALUES(val1, val2);
INSERT INTO table VALUES(val3, val4);
INSERT INTO table VALUES(val5, val6);
-- बार-बार नेटवर्क राउंड-ट्रिप
तेज़ तरीका (बल्क INSERT)
INSERT INTO table VALUES
(val1, val2),
(val3, val4),
(val5, val6);
-- सिंगल राउंड-ट्रिप
उदाहरण
mysql> CREATE TABLE DemoTable1466 (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(20),
-> Age INT
-> );
mysql> INSERT INTO DemoTable1466(Name, Age) VALUES
-> ('Chris', 25), ('David', 29), ('Mike', 32);
Query OK, 3 rows affected (0.10 sec)
परिणाम
+----+-------+------+
| Id | Name | Age |
+----+-------+------+
| 1 | Chris | 25 |
| 2 | David | 29 |
| 3 | Mike | 32 |
+----+-------+------+
लाभ: नेटवर्क लेटेंसी कम, ट्रांजैक्शन ओवरहेड कम, ऑटोकमिट मोड में भी तेज़। बड़े डेटासेट के लिए LOAD DATA INFILE और भी तेज़ होता है।