M Majuin.
6 6 / 10

Locking & Deadlock

Pahami lock untuk menghindari request saling tunggu.

  BEGIN;
  SELECT * FROM saldo WHERE id = 1 FOR UPDATE;
  UPDATE saldo SET nilai = nilai - 100 WHERE id = 1;
  COMMIT;

Deadlock terjadi saat dua transaksi mengunci dengan urutan berbeda. Solusi: akses baris dalam urutan konsisten dan jaga transaksi tetap singkat.