PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Các hàng có bị khóa theo thứ tự trong câu lệnh SELECT ... ORDER BY ... FOR UPDATE không?

Các hàng được khóa theo thứ tự của ORDER BY mệnh đề như khi bảng được quét .

Truy vấn được thực thi và các hàng được sắp xếp theo thứ tự, sau đó PostgreSQL sẽ khóa các hàng theo thứ tự. Về cơ bản, ORDER BY xảy ra trước FOR UPDATE .

Bây giờ có thể xảy ra việc khóa khối hàng vì các khóa được giữ bởi các giao dịch đồng thời. Nếu điều đó xảy ra, và chúng tôi đang ở READ COMMITTED mức cô lập, PostgreSQL chờ cho đến khi nó có thể nhận được khóa và sau đó tìm nạp phiên bản hiện tại của hàng mà nó khóa.

Nếu giao dịch đồng thời sửa đổi các cột xác định thứ tự, kết quả cuối cùng sẽ không theo thứ tự được xác định bởi ORDER BY .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để chuyển đổi cơ sở dữ liệu trong postgres?

  2. Lỗi khi biên dịch Qt 5.10.0 tĩnh với PostgreSQL

  3. JDBC Tham số câu lệnh được chuẩn bị sẵn bên trong json

  4. Cách trả về kết quả bảng tạm thời trong hàm postgresql

  5. ActiveRecord - chọn bản ghi đầu tiên từ mỗi nhóm