Memasukkan Berbilang Baris dalam PHP PDO MySQL: Perbandingan Kod dan Pengoptimuman
Apabila berurusan dengan keperluan untuk memasukkan berbilang baris ke dalam jadual MySQL menggunakan PHP PDO, pembangun mungkin menghadapi dua pendekatan utama.
Pendekatan 1:
$stmt = $db->prepare($sql); foreach($rows as $row){ $stmt->execute($row); }
Pendekatan 2:
$sql = "insert into `table_name` (col1, col2, col3) values "; $sql .= //not sure the best way to concatenate all the values, use implode? $db->prepare($sql)->execute();
Prestasi dan keselamatan kod:
Kedua-duanya pendekatan adalah berdaya maju, tetapi ia berbeza dari segi kelajuan pelaksanaan dan keselamatan.
Pendekatan 1:
Pendekatan 2:
Memilih pendekatan terbaik:
Pendekatan optimum bergantung pada saiz set data yang dimasukkan. Untuk set data kecil, mana-mana kaedah adalah sesuai. Untuk set data yang besar di mana kelajuan adalah penting, Pendekatan 2 dengan pertanyaan berparameter disyorkan.
Pengoptimuman Tambahan:
Sisipan kelompok dalam Pendekatan 2 boleh dioptimumkan lagi dengan menggabungkan pemegang tempat sebelum melaksanakan pertanyaan:
$sqlArray = array(); foreach($rows as $row){ $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; } $sql .= implode(',', $sqlArray);
Ini dengan ketara mengurangkan bilangan ruang letak yang perlu diikat sebelum pelaksanaan, meningkatkan prestasi.
Atas ialah kandungan terperinci Pendekatan Mana Yang Lebih Baik untuk Memasukkan Berbilang Baris dalam PHP PDO MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!