Saya mengalami masalah deadlock saat menjalankan transaksi di MySQL, dan saya tidak yakin mengapa hal ini terjadi atau bagaimana cara mencegahnya.
fahmihar536 Answered question January 9, 2025
Penyebab terjadi nya deadlock :
- urutan kunci tidak konsisten.
- transaksi telalu lama.
- indeks tidak optimal(mengunci terlalu banyak baris).
Cara mencegah deadlock :
- Kunci sumber daya dengan urutan yang sama.
- Buat transaksi singkat.
- Gunakan indeks untuk mempercepat pencarian.
fahmihar536 Answered question January 9, 2025
Deadlock terjadi karena saat dua transaksi atau lebih saling menunggu satu sama lain, sehingga semuanya terjebak dan tidak bisa melanjutkan.
Cara mencegah nya cukup gampang :
- Kunci dalam urutan yang konsisten.
- Gunakan level isolasi rendah seperti Red Comitted.
- Transaksi singkat untuk megurangi waktu penguncian.
- Retry logic : Jika deadlock terjadi, coba jalankan transaksi ulang.
- Aktifkan log deadlock di mySQL untuk analisis.
harisjon168 Answered question January 9, 2025