Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap Menggunakan PDO dalam MySQL?

Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap Menggunakan PDO dalam MySQL?

DDD
DDDasal
2024-11-21 10:11:09689semak imbas

How to Efficiently Insert Multiple Rows Using PDO in MySQL?

Memasukkan Berbilang Baris Dengan Cekap Menggunakan PDO dalam MySQL

Apabila berhadapan dengan tugas memasukkan berbilang baris ke dalam jadual MySQL, pembangun sering memikirkan pendekatan terbaik untuk menggunakan PDO. Terdapat dua pilihan utama: melaksanakan baris satu demi satu atau menggabungkan pernyataan SQL dan melaksanakannya sebagai satu kelompok.

Pilihan 1: Pelaksanaan Baris Individu

Pendekatan ini melibatkan penyediaan pernyataan SQL dan melaksanakannya untuk setiap baris secara berasingan:

$sql = "insert into `table_name` (col1, col2, col3) values (?, ?, ?)";
$stmt = $db->prepare($sql);
foreach ($rows as $row) {
    $stmt->execute($row);
}

Pilihan 2: Kemasukan Kelompok

Dalam pendekatan ini, pernyataan SQL digabungkan dengan nilai baris dan kemudian dilaksanakan sebagai satu arahan:

$sql = "insert into `table_name` (col1, col2, col3) values ";
$paramArray = [];
$sqlArray = [];
foreach ($rows as $row) {
    $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')';
    foreach ($row as $element) {
        $paramArray[] = $element;
    }
}
$sql .= implode(',', $sqlArray);
$stmt = $db->prepare($sql);
$stmt->execute($paramArray);

Prestasi Pertimbangan

Walaupun pendekatan penyisipan kelompok secara teorinya lebih pantas, perbezaan prestasi sebenar antara kedua-dua pilihan sering diabaikan. Dalam kebanyakan kes, masa yang dijimatkan dengan melaksanakan kenyataan sekali akan diimbangi oleh overhed penyatuan nilai.

Pertimbangan Keselamatan

Kedua-dua pendekatan dianggap selamat kerana ia gunakan pernyataan yang disediakan untuk mengelakkan suntikan SQL serangan.

Pengesyoran

Untuk kesederhanaan dan kemudahan pelaksanaan, pendekatan pelaksanaan baris individu biasanya disyorkan. Walau bagaimanapun, jika prestasi adalah kebimbangan kritikal, pendekatan sisipan kelompok boleh diterokai.

Nota Tambahan

  • Kedua-dua pendekatan boleh digunakan untuk memasukkan sebarang bilangan baris.
  • Soalan dan jawapan yang disediakan menganggap senarai statik nilai yang akan dimasukkan. Untuk nilai dinamik, kaedah pengikatan parameter boleh digunakan untuk mengelakkan penyatuan pernyataan SQL.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris dengan Cekap Menggunakan PDO dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn