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

DDD
Lepaskan: 2024-11-21 10:11:09
asal
697 orang telah melayarinya

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);
}
Salin selepas log masuk

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan