Mengoptimumkan Operasi INSERT Massa dalam MySQLi: Pendekatan Selamat dan Cekap
Memasukkan volum besar data ke dalam pangkalan data MySQL memerlukan teknik yang memastikan kedua-dua keselamatan dan prestasi. Artikel ini meneroka kaedah untuk memasukkan banyak baris dengan cekap ke dalam jadual sambil mengurangkan risiko suntikan SQL.
Kod yang disediakan, yang menggunakan berbilang penyataan yang disediakan dalam gelung, boleh memperkenalkan kesesakan prestasi dan isu limpahan tindanan yang berpotensi . Pendekatan yang lebih baik ialah meletakkan sisipan dalam transaksi dan mengalihkan penyata yang disediakan dan pengikatan parameter di luar gelung.
$mysqli->query("START TRANSACTION"); $query = "INSERT INTO table (link) VALUES (?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param("s", $one); foreach ($array as $one) { $stmt->execute(); } $mysqli->query("COMMIT");
Transaksi memberikan beberapa kelebihan untuk sisipan pukal:
Dalam ujian prestasi, mengalihkan sisipan ke dalam transaksi mengakibatkan peningkatan kelajuan yang ketara. Untuk 10,000 lelaran, masa pelaksanaan menurun daripada 226 saat tanpa transaksi kepada 2 saat sahaja dengan transaksi.
Pendekatan ini menyediakan mekanisme yang selamat dan cekap untuk memasukkan set data yang besar ke dalam pangkalan data MySQL sambil mengurangkan potensi risiko SQL suntikan dan kesesakan prestasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Operasi INSERT Massa dengan Selamat dan Cekap dalam MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!