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

Sự khác biệt giữa Đọc không lặp lại và Đọc Phantom là gì?

Từ Wikipedia (có các ví dụ chi tiết và tuyệt vời cho việc này):

Việc đọc không lặp lại xảy ra khi trong quá trình giao dịch, một hàng được truy xuất hai lần và các giá trị trong hàng khác nhau giữa các lần đọc.

Đọc ảo xảy ra khi, trong quá trình giao dịch, hai truy vấn giống hệt nhau được thực thi và tập hợp các hàng được trả về bởi truy vấn thứ hai khác với truy vấn đầu tiên.

Ví dụ đơn giản:

  • Người dùng A chạy cùng một truy vấn hai lần.
  • Ở giữa, Người dùng B chạy một giao dịch và cam kết.
  • Đọc không lặp lại:Hàng mà người dùng A đã truy vấn có giá trị khác ở lần thứ hai.
  • Ma đọc:Tất cả các hàng trong truy vấn có cùng giá trị trước và sau, nhưng các hàng khác nhau đang được chọn (vì B đã xóa hoặc chèn một số). Ví dụ:select sum(x) from table; sẽ trả về một kết quả khác ngay cả khi không có hàng nào trong số các hàng bị ảnh hưởng được cập nhật, nếu các hàng đã được thêm hoặc bị xóa.

Trong ví dụ trên, mức cách ly nào sẽ được sử dụng?

Mức độ cách ly nào bạn cần tùy thuộc vào ứng dụng của bạn. Có một mức chi phí cao đối với mức cô lập "tốt hơn" (chẳng hạn như giảm tính đồng thời).

Trong ví dụ của bạn, bạn sẽ không có phép đọc ảo, vì bạn chỉ chọn từ một hàng duy nhất (được xác định bằng khóa chính). Bạn có thể có các lần đọc không lặp lại, vì vậy nếu đó là vấn đề, bạn có thể muốn có một mức cách ly để ngăn điều đó. Trong Oracle, giao dịch A cũng có thể đưa ra một LỰA CHỌN ĐỂ CẬP NHẬT, sau đó giao dịch B không thể thay đổi hàng cho đến khi A hoàn tất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu ký hiệu tiền tệ mà phiên của bạn sử dụng trong Oracle

  2. Java - tìm nguyên nhân đầu tiên của một ngoại lệ

  3. Hướng dẫn biểu mẫu và báo cáo cho Oracle 9i, Oracle 10g và Oracle 11g Developer Suite Forms

  4. Làm thế nào để thu nhỏ không gian bảng tạm thời trong oracle?

  5. 2PL, Mô hình nghiêm ngặt và nghiêm ngặt, Có lợi ích gì không?