Mysql
 sql >> база данни >  >> RDS >> Mysql

Кой е най-компактният начин за съхраняване на разлики в база данни?

Много по-лесно е да съхранявате всеки запис в неговата цялост, отколкото да съхранявате разлики от тях. След това, ако искате разлика от две ревизии, можете да генерирате една според нуждите, като използвате PECL Text_Diff библиотека .

Обичам да съхранявам всички версии на записа в една таблица и да извличам най-новата с MAX(revision) , "текущ" булев атрибут или подобен. Други предпочитат да денормализират и имат огледална таблица, която съдържа нетекущи ревизии.

Ако вместо това съхранявате diffs, вашата схема и алгоритми стават много по-сложни. След това трябва да съхраните поне една "пълна" ревизия и няколко "diff" версии и да реконструирате пълна версия от набор от разлики, когато имате нужда от пълна версия. (Ето как SVN съхранява нещата. Git съхранява пълно копие на всяка ревизия, а не разлики.)

Времето на програмиста е скъпо, но дисковото пространство обикновено е евтино. Моля, помислете дали съхраняването на всяка ревизия в пълен размер наистина е проблем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql тип данни за съхраняване само на месец и година

  2. Изберете mysql заявка между дата?

  3. използвайки mysql_close()

  4. Не мога да създам MySQL TRIGGER, когато използвам IS NOT NULL

  5. Как правилно да създадете съставни първични ключове - MYSQL