Anda perlu menambahkan indeks pada id
kolom untuk memastikan bahwa Anda mendapatkan kunci tingkat baris. SELECT ... FOR UPDATE
mengunci semua baris yang dibaca untuk melakukan kueri, bukan hanya baris yang sebenarnya dipilih. Tanpa indeks, ia harus melakukan pemindaian tabel penuh, sehingga setiap baris dikunci sebagai hasilnya.
Dengan indeks, itu hanya mengunci entri indeks itu, tidak harus membaca baris lain, jadi tidak ada baris lain yang akan dikunci.