Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

CannotAcquireLockException (Musim Semi, Hibernasi, MySQL)

Ini adalah kebuntuan yang pasti situasi. Ini lebih terkait dengan kesalahan MySQL daripada masalah Hibernate dengan kelas Anda. Pertama mari kita tinjau definisi kebuntuan :

Lihat halaman ini untuk informasi lebih lanjut:http://en.wikipedia.org/wiki/Deadlock

Bagaimana Anda menghadapi situasi ini. Nah, Anda perlu membaca artikel berikut:Deadlock di InnoDB . Ini berisi sebagian besar informasi yang Anda butuhkan. Artikel ini menjelaskan secara rinci cara melacak dan menangani kebuntuan yang harus dibaca.

Pada dasarnya Anda perlu melakukan langkah-langkah berikut berdasarkan informasi di atas:

  1. Buat Pelacakan MySQL:Lacak semua kueri yang dijalankan di server MySQL.
  2. Dapatkan informasi jejak kebuntuan
  3. Cocokkan antara dead lock trace dan MySQL trace untuk menentukan penyebab dead lock.

Artikel di InnoDB juga memiliki daftar solusi, jadi saya tidak akan mengulanginya di sini. Ingatlah kebuntuan bukan kesalahan fatal, Anda hanya perlu menanganinya. Jadi mungkin tangkap pengecualian dan coba lagi transaksinya. Pastikan juga kueri Anda yang dihasilkan oleh Hibernate optimal dalam arti bahwa kueri tersebut menggunakan indeks di mana mereka bisa dll. Hal lain yang bisa Anda coba adalah batching transaksi di Hibernate dan dieksekusi di batch .

Saya yakin dengan dua link di atas Anda akan dapat mengatasi masalah tersebut dan itu akan menjadi pengalaman berharga bagi Anda untuk mengatasinya sendiri. Jika Anda menemukan item tertentu yang bermasalah dengan menambahkannya ke pertanyaan dan mari kita selesaikan itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menangani kueri tumpang tindih poligon MySQL?

  2. MySQL 8 Ekspresi Tabel Umum CTE

  3. Bagaimana cara mengubah zona waktu MySQL dalam koneksi database menggunakan Java?

  4. Apa kelebihan/keterbatasan masing-masing Amazon RDS vs. EC2 dengan MySQL?

  5. periksa apakah kueri menghasilkan baris kosong mysqli