Hvis dette udelukkende er til "arkiverings"-formål, er en separat tabel for revisionerne måske bedre.
Men hvis du har brug for at behandle tidligere revisioner på samme måde som nuværende revisioner (hvis du f.eks. vil give brugerne mulighed for at vende et produkt tilbage til en tidligere revision), så er det nok bedst at beholde en enkelt produkttabel i stedet for at kopiere data mellem borde. Hvis du er bekymret for ydeevne, er det dette, indekser er til for.
Du kan oprette en sammensat primærnøgle til produkttabellen, f.eks. PRIMARY KEY (product_id, revision)
. Måske en gemt proc til at finde den aktuelle revision - ved at vælge rækken med den højeste revision
for et bestemt product_id
—vil være nyttig.