sql >> Databasteknik >  >> RDS >> Mysql

mysql (nästan) fullständig revision

Hmm, jag tänkte också på det här.

  • Att ha en tabell per tabell-att behålla-revideringar för skulle inte vara så mycket problem för mig personligen, men hallå.
  • Användarnamn kan behållas med användardefinierade variabler, tror jag, (efter en sessionsstart problem något som SET @user='someone' , och använd det.
  • Så länge det finns utlösare efter INSERT, UPDATE och DELETE, är det en enkel fråga att hämta föregående/nästa värden, jag lagrar bara de GAMLA värdena.

Kort sagt, för en tabell med kolumner (a,b,c) skulle jag skapa en tabell med kolumner (user_id,modtime,a,b,c).

Stora nackdelar:

  • batchuppdateringar är långsamma (så välj dina tabeller för att behålla revisionerna noggrant)
  • dataduplicering deluxe, du måste / jag måste ha tillräckligt med lagringsutrymme
  • 'relaterad' data utlöser inte en revision (d.v.s. ändra en group_members Tabell ändrar egentligen inte en groups tabell, medan du kanske vill behålla det som en tidpunkt för groups gräv istället igenom group_members ändringar.

Allt som allt verkar det vara en bra affär för mig, men som jag sällan har sett det i praktiken måste vara övertygande skäl till varför det är dåligt, så jag avvaktar de svaren.




  1. Skickar FieldName som parameter i MySQL lagrad procedur

  2. Hur man väljer en delsträng i Oracle SQL upp till ett specifikt tecken?

  3. Vad är bästa praxis för att begränsa specifika sidor till inloggade användare endast i Codeigniter?

  4. Kopiera/duplicera SQL-rad med blob/text, hur gör man det?