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

Perilaku 'pilih untuk pembaruan' MySQL

Biarkan saya memeriksa kasus Anda dan menjelaskan cara kerja kunci ini:

1 kasus

T1 ingin memperbarui beberapa baris di tabel pengujian Anda. Transaksi ini menempatkan kunci IX pada semua tabel dan kunci X pada 5 baris pertama.

T2 ingin memperbarui beberapa baris di tabel pengujian Anda. Transaksi ini menempatkan kunci IX (karena IX kompatibel dengan IX) di semua tabel dan mencoba 5 baris pertama tetapi tidak dapat melakukannya karena X tidak kompatibel dengan X

Jadi kami baik-baik saja.

2.1 kasus

T1 ingin memperbarui beberapa baris di tabel pengujian Anda. Transaksi ini menempatkan kunci IX pada semua tabel dan kunci X pada 5 baris pertama.

T2 ingin memilih beberapa baris dari tabel pengujian Anda. Dan itu tidak mengunci apapun (karena InnoDB menyediakan pembacaan yang tidak mengunci)

2.1 kasus

T1 ingin memperbarui beberapa baris di tabel pengujian Anda. Transaksi ini menempatkan kunci IX pada semua tabel dan kunci X pada 5 baris pertama.

T2 ingin memperbarui (pilih untuk pembaruan) beberapa baris dari tabel pengujian Anda. Tempatkan IS di seluruh tabel dan coba mengunci S pada baris dan gagal karena X dan S tidak kompatibel.

Juga selalu waspadai tingkat isolasi:tingkat yang berbeda menyebabkan mekanisme yang berbeda untuk membebaskan/memperoleh kunci

Semoga membantu




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan array php multi-dimensi ke dalam database mysql

  2. Pengecualian sehubungan dengan mysql melalui jdbc

  3. Mengambil hanya sejumlah baris tetap di MySQL

  4. Bagaimana Anda menyandikan apostrof sehingga dapat dicari di mysql?

  5. Pembuatan Tabel MYSQL dengan nilai default (ekspresi) ke kolom