Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Transaksi Boleh Mengoptimumkan Sisipan Data Pukal dalam MySQLi untuk Prestasi Dipertingkatkan?

Bagaimanakah Transaksi Boleh Mengoptimumkan Sisipan Data Pukal dalam MySQLi untuk Prestasi Dipertingkatkan?

Mary-Kate Olsen
Lepaskan: 2024-12-15 13:37:18
asal
843 orang telah melayarinya

How Can Transactions Optimize Bulk Data Insertion in MySQLi for Enhanced Performance?

Teknik Memasukkan Data Pukal dalam MySQLi: Pengoptimuman Prestasi

Apabila berhadapan dengan tugas memasukkan volum data yang besar ke dalam pangkalan data MySQL, adalah penting untuk mempertimbangkan prestasi dan keselamatan. Semasa menggunakan penyataan yang disediakan melindungi daripada suntikan SQL, pelaksanaan naif dengan berbilang pertanyaan boleh menjadi tidak cekap.

Pendekatan Satu Pertanyaan Sebelum ini

Percubaan untuk memasukkan semua nilai sekaligus menggunakan satu pertanyaan, sambil menggoda untuk prestasi, boleh membawa kepada limpahan tindanan. Penyelesaiannya terletak pada mengoptimumkan proses sambil mengekalkan keselamatan.

Pendekatan Berasaskan Transaksi

Untuk meningkatkan prestasi dengan ketara, sertakan sisipan dalam transaksi. Ini membolehkan berbilang sisipan dianggap sebagai satu unit kerja, mengelakkan perjalanan pergi balik yang mahal ke pangkalan data.

Pengoptimuman Kod

Coretan kod berikut menggambarkan pendekatan yang dioptimumkan:

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

Petanda aras Keputusan

Ujian penanda aras dengan 10,000 lelaran mendedahkan peningkatan prestasi yang ketara:

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

Ini diterjemahkan kepada sesuatu yang luar biasa peningkatan kelajuan dua urutan magnitud, menunjukkan keberkesanan pendekatan berasaskan transaksi.

Atas ialah kandungan terperinci Bagaimanakah Transaksi Boleh Mengoptimumkan Sisipan Data Pukal dalam MySQLi untuk Prestasi Dipertingkatkan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan