Si esto es puramente para fines de 'archivo', entonces tal vez sea mejor una tabla separada para las revisiones.
Sin embargo, si necesita tratar las revisiones anteriores de la misma manera que las revisiones actuales (por ejemplo, si desea dar a los usuarios la capacidad de revertir un producto a una revisión anterior), probablemente sea mejor mantener una sola tabla de productos, en lugar de copiar datos. entre mesas. Si le preocupa el rendimiento, para eso están los índices.
Puede crear una clave principal compuesta para la tabla de productos, p. PRIMARY KEY (product_id, revision)
. Tal vez un proceso almacenado para encontrar la revisión actual, seleccionando la fila con la revision
más alta para un product_id
particular —será útil.