Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Memasukkan 2000 Baris dengan Cekap ke dalam MySQL Semasa Mencegah Suntikan SQL dan Limpahan Tindanan?

Bagaimanakah Saya Boleh Memasukkan 2000 Baris dengan Cekap ke dalam MySQL Semasa Mencegah Suntikan SQL dan Limpahan Tindanan?

Patricia Arquette
Patricia Arquetteasal
2024-12-13 10:23:10612semak imbas

How Can I Efficiently Insert 2000 Rows into MySQL While Preventing SQL Injection and Stack Overflow?

Sisipan Pukal yang Cekap dalam mysqli: Mencegah Suntikan SQL dan Limpahan Tindanan

Memasukkan volum besar data ke dalam pangkalan data MySQL dengan selamat dan berprestasi adalah penting untuk banyak aplikasi. Soalan ini meneroka teknik untuk memasukkan 2000 baris dengan berkesan sambil memastikan perlindungan suntikan SQL.

Coretan kod yang disediakan berulang melalui tatasusunan nilai, menyediakan dan melaksanakan pertanyaan berasingan untuk setiap sisipan. Walaupun selamat terhadap suntikan SQL, pendekatan ini boleh menjadi tidak cekap dan boleh mengakibatkan limpahan tindanan.

Penyelesaian Dipertingkat dengan Transaksi:

Penyelesaian yang lebih optimum melibatkan penggunaan transaksi MySQL. Dengan mengumpulkan sisipan dalam satu transaksi, pangkalan data boleh mengoptimumkan proses dan mengurangkan masa pelaksanaan dengan ketara.

$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $one);

$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
    $stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");

Perbandingan Prestasi:

Teknik ini menyediakan peningkatan kelajuan yang ketara, seperti yang ditunjukkan oleh ujian penanda aras:

  • Tanpa transaksi: 226 saat
  • Dengan transaksi: 2 saat

Ini mewakili dua urutan peningkatan kelajuan magnitud yang mengagumkan untuk kes ujian.

Dengan memanfaatkan transaksi, anda boleh memasukkan dengan cekap data secara pukal sambil mengekalkan keselamatan suntikan SQL dan mengelakkan limpahan tindanan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan 2000 Baris dengan Cekap ke dalam MySQL Semasa Mencegah Suntikan SQL dan Limpahan Tindanan?. 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