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

Khóa lạc quan ngủ đông..làm thế nào nó hoạt động?

Nói một cách chính xác, ý bạn không phải là khóa lạc quan, mà là sự đồng thời lạc quan (không có khóa). Sử dụng dấu thời gian cho phiên bản chỉ để hỗ trợ cơ sở dữ liệu kế thừa, vì cơ sở dữ liệu hiện đại có thể (ít nhất là về mặt lý thuyết) hoạt động nhanh hơn độ chính xác của việc lưu trữ dấu thời gian.

Sử dụng thuộc tính phiên bản số nguyên rất đơn giản:

  • Khi chèn:đặt phiên bản thành 1
  • Khi cập nhật và xóa:tăng phiên bản bằng 1 và thêm vào "nơi [email protected] "cho mọi câu lệnh sql. Trả về số lượng bản ghi đã thay đổi. Hãy ném StaleObjectStateException khi số lượng bản ghi đã thay đổi khác với dự kiến.

Cá nhân tôi sẽ không tạo hai ứng dụng riêng biệt ghi cùng một dữ liệu trong một tình huống không kế thừa, vì điều đó có nghĩa là logic nghiệp vụ phải được trùng lặp và các thay đổi phải được áp dụng cho hai ứng dụng, cũng như khi thay đổi chỉ liên quan đến một trong số các ứng dụng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề có nhiều cơ sở dữ liệu?

  2. Cấp quyền cho đường dẫn

  3. Làm cách nào để truy cập dòng lệnh MySQL với XAMPP dành cho Windows?

  4. CHÈN VÀO với SubQuery MySQL

  5. Cách nhanh nhất để chọn vị trí địa lý gần nhất từ ​​cơ sở dữ liệu mysql là gì?