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

Lưu trữ các bản sửa đổi của các đối tượng quan hệ một cách hiệu quả

Nếu điều này hoàn toàn dành cho mục đích 'lưu trữ' thì có lẽ một bảng riêng cho các bản sửa đổi sẽ tốt hơn.

Tuy nhiên, nếu bạn cần đối xử bình đẳng với các bản sửa đổi trước đó với các bản sửa đổi hiện tại (ví dụ:nếu bạn muốn cung cấp cho người dùng khả năng hoàn nguyên một sản phẩm về bản sửa đổi trước đó), thì tốt nhất bạn nên giữ một bảng sản phẩm duy nhất, thay vì sao chép dữ liệu giữa các bảng. Nếu bạn lo lắng về hiệu suất, đây là chỉ mục dành cho.

Bạn có thể tạo khóa chính ghép cho bảng sản phẩm, ví dụ:PRIMARY KEY (product_id, revision) . Có thể là một proc được lưu trữ để tìm bản sửa đổi hiện tại — bằng cách chọn hàng có revision cao nhất cho một product_id cụ thể —Sẽ hữu ích.



  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 để cài đặt MySQL trên Windows 10? - Giải pháp một cửa của bạn để cài đặt MySQL

  2. Không thể tìm thấy lớp [org.springframework.orm.hibernate5.LocalSessionFactoryBean] cho bean có tên 'hibernate5AnnotatedSessionFactory'

  3. LỖI 1396 (HY000):Thao tác CREATE USER không thành công cho 'jack' @ 'localhost'

  4. Làm cách nào để lưu trữ giá trị của một tùy chọn do người dùng chọn từ danh sách hộp chọn thả xuống vào cơ sở dữ liệu mysql?

  5. Tạo chế độ xem danh sách yêu thích với các tùy chọn được chia sẻ