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

mysql (почти) пълен одит

Хм, и аз си мислех за това.

  • Лично за мен да имам таблица за ревизии на таблица за запазване не би било толкова голям проблем, но хей.
  • Потребителското име може да се запази с дефинирани от потребителя променливи, според мен (след началото на сесията издава нещо като SET @user='someone' , и използвайте това.
  • Докато има тригери след INSERT, UPDATE и DELETE, получаването на предишните/следващите стойности е проста заявка, ще съхранявам само СТАРИТЕ стойности.

Накратко, за таблица с колони (a,b,c) бих създал таблица с колони (user_id,modtime,a,b,c).

Основни недостатъци:

  • пакетните актуализации са бавни (така че изберете внимателно таблиците си, за да съхранявате ревизии)
  • луксозно дублиране на данни, вие/ще трябва да имате достатъчно място за съхранение
  • „свързаните“ данни не задействат ревизия (т.е. промяна на group_members таблицата всъщност не променя groups таблица, докато може да искате да запазите това като момент във времето за groups вместо да се рови през group_members промени.

Като цяло ми се струва добра сделка, но тъй като рядко съм го виждал на практика, трябва бъдете убедителни причини защо е лошо, така че ще чакам тези отговори.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Броене на полета със същата стойност

  2. Индексиране на булеви полета

  3. Минимални GRANTs, необходими на mysqldump за изхвърляне на пълна схема? (Липсват тригери!!)

  4. symfony2 с doctrine не може да се свърже с отдалечена база данни на mysql

  5. Как да вмъкнете константа на PHP в SQL заявка?