কম্পিউটার টিউটোরিয়াল

MySQL-এ একক INSERT স্টেটমেন্টে একাধিক রো দ্রুত ইনসার্ট করা

একই 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;) আরও সুরক্ষিত।
  1. MySQL-এ FORMAT() ব্যবহার করে কaarেন্সি রেকর্ড ফরম্যাট করা

  2. MySQL-এ একাধিক কলাম একসাথে আপডেট করা (সিঙ্গল কুয়েরি)

  3. MySQL-এ একাধিক টেবিল থেকে ডেটা নিয়ে একটি টেবিলে ইনসার্ট করা (CROSS JOIN)

  4. MySQL-এ একক কোয়ারি দিয়ে একটি কলামে একাধিক মান কিভাবে ইনসার্ট করবেন?