Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Transaksi Dapat Mempercepatkan Operasi INSERT MySQLi dengan Berbilang Nilai dengan ketara?

Bagaimanakah Transaksi Dapat Mempercepatkan Operasi INSERT MySQLi dengan Berbilang Nilai dengan ketara?

DDD
DDDasal
2024-12-17 19:38:11298semak imbas

How Can Transactions Significantly Speed Up MySQLi INSERT Operations with Multiple Values?

Operasi INSERT yang Cekap dan Selamat dalam MySQLi dengan Pelbagai Nilai

Memasukkan volum besar data ke dalam pangkalan data boleh menjadi cabaran prestasi, terutamanya apabila ia datang untuk mengekalkan keselamatan terhadap serangan suntikan SQL. PHP dan MySQLi menyediakan pelbagai pendekatan untuk menangani isu ini sambil memastikan integriti data.

Kod yang disediakan menggunakan pendekatan mudah untuk menyediakan dan mengikat parameter dalam gelung untuk setiap nilai dalam tatasusunan. Walau bagaimanapun, kaedah ini boleh menghadapi isu prestasi untuk set data yang besar disebabkan oleh proses yang berulang.

Teknik yang disyorkan adalah untuk memanfaatkan urus niaga. Transaksi mengumpulkan berbilang operasi ke dalam satu unit, memastikan semuanya digunakan atau tidak sama sekali. Dengan melampirkan pertanyaan sisipan dalam transaksi, seperti yang ditunjukkan dalam kod yang dioptimumkan:

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

kita boleh memperoleh peningkatan prestasi yang ketara. Transaksi mengurangkan overhed untuk melaksanakan setiap pertanyaan secara individu, menghasilkan masa pelaksanaan yang lebih cepat.

Selain itu, kod yang dioptimumkan meminimumkan bilangan panggilan untuk menyediakan() dan bind_param() dengan melaksanakan operasi ini di luar gelung. Ini mengurangkan lagi masa pemprosesan.

Keputusan Ujian Prestasi

Untuk menunjukkan keberkesanan pengoptimuman ini, ujian telah dijalankan dengan 10,000 lelaran pada pelayan web. Keputusannya ialah:

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

Penggunaan transaksi menghasilkan dua tertib peningkatan kelajuan magnitud, mempamerkan potensinya untuk prestasi yang lebih baik apabila berurusan dengan set data yang besar.

Atas ialah kandungan terperinci Bagaimanakah Transaksi Dapat Mempercepatkan Operasi INSERT MySQLi dengan Berbilang Nilai dengan ketara?. 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