একই INSERT স্টেটমেন্টে কমা-সেপারেটেড ভ্যালু লিস্ট দিয়ে একাধিক রো খুব দ্রুত ইনসার্ট করা যায়।
সিনট্যাক্স:
INSERT INTO yourTableName VALUES (val1, val2, ...), (val1, val2, ...), ...;
উদাহরণ:
mysql> CREATE TABLE DemoTable2007 (Amount1 INT, Amount2 INT, Amount3 INT);
mysql> INSERT INTO DemoTable2007 VALUES
(450,600,700),
(1000,200,3000),
(800,900,1200),
(1300,1500,2000),
(40000,50000,6700);
Query OK, 5 rows affected (0.11 sec)
ডেটা ভেরিফিকেশন:
+---------+---------+---------+ | Amount1 | Amount2 | Amount3 | +---------+---------+---------+ | 450 | 600 | 700 | | 1000 | 200 | 3000 | | 800 | 900 | 1200 | | 1300 | 1500 | 2000 | | 40000 | 50000 | 6700 | +---------+---------+---------+
কেন এটি দ্রুত?
- সিঙ্গল নেটওয়ার্ক রাউন্ড-ট্রিপ
- সিঙ্গল ট্রানজেকশন (অটো-কমিট অফ থাকলে)
- ইনডেক্স আপডেট একবারই হয়
- পার্সিং ও আপ্টিমাইজেশন একবার
সেরা অভ্যাস
- বড় ব্যাচের জন্য ১০০০-৫০০০ রো প্রতি INSERT (ম্যাক্স অ্যালোড প্যাকেট সাইজ বিবেচনা করে)।
LOAD DATA INFILEআরও দ্রুত CSV/TSV ইমপোর্টের জন্য।- ট্রানজেকশন র্যাপ করলে (
START TRANSACTION; ... COMMIT;) আরও সুরক্ষিত।