SELECT ... FOR UPDATE
sẽ khóa bản ghi bằng khóa ghi (độc quyền) cho đến khi giao dịch được hoàn thành (đã cam kết hoặc khôi phục).
Để chọn một bản ghi và đảm bảo rằng nó không bị sửa đổi cho đến khi bạn cập nhật nó, bạn có thể bắt đầu một giao dịch, hãy chọn bản ghi bằng cách sử dụng SELECT ... FOR UPDATE
, thực hiện một số xử lý nhanh, cập nhật hồ sơ, sau đó cam kết (hoặc khôi phục) giao dịch.
Nếu bạn sử dụng SELECT ... FOR UPDATE
bên ngoài giao dịch (tự động gửi BẬT), thì khóa sẽ vẫn được phát hành ngay lập tức, vì vậy hãy đảm bảo sử dụng một giao dịch để giữ lại khóa.
Để đạt được hiệu suất, không nên để các giao dịch mở trong thời gian quá lâu, vì vậy cần thực hiện cập nhật ngay lập tức.