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

Cách nhỏ gọn nhất để lưu trữ các khác biệt trong cơ sở dữ liệu là gì?

Lưu trữ toàn bộ từng bản ghi sẽ dễ dàng hơn nhiều so với lưu trữ khác biệt của chúng. Sau đó, nếu bạn muốn có hai bản sửa đổi khác nhau, bạn có thể tạo một bản nếu cần bằng cách sử dụng PECL Text_Diff thư viện .

Tôi muốn lưu trữ tất cả các phiên bản của bản ghi trong một bảng duy nhất và truy xuất bản ghi gần đây nhất với MAX(revision) , thuộc tính boolean "hiện tại" hoặc tương tự. Những người khác thích không chuẩn hóa và có một bảng phản chiếu chứa các bản sửa đổi không hiện hành.

Thay vào đó, nếu bạn lưu trữ các khác biệt, lược đồ và thuật toán của bạn sẽ trở nên phức tạp hơn nhiều. Sau đó, bạn cần lưu trữ ít nhất một bản sửa đổi "đầy đủ" và nhiều phiên bản "khác biệt", đồng thời tạo lại phiên bản đầy đủ từ một tập hợp các khác biệt bất cứ khi nào bạn cần một phiên bản đầy đủ. (Đây là cách SVN lưu trữ mọi thứ. Git lưu trữ bản sao đầy đủ của mỗi bản sửa đổi, không phải khác biệt.)

Thời gian của lập trình viên đắt, nhưng dung lượng ổ đĩa thường rẻ. Vui lòng xem xét việc lưu trữ đầy đủ từng bản sửa đổi có thực sự là một vấn đề.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi cột mysql từ INT thành TIMESTAMP

  2. Có cách nào để sử dụng các đối tượng json trong SQL không

  3. Tạo cơ sở dữ liệu MySQL từ Java

  4. MySQL Chọn Ngày tương đương với Hôm nay

  5. Khóa ngoại MySQL khi xóa