Ако това е само за „архивни“ цели, тогава може би отделна таблица за ревизиите е по-добра.
Въпреки това, ако трябва да третирате предишните ревизии еднакво с текущите ревизии (например, ако искате да дадете на потребителите възможността да върнат продукт към предишна ревизия), вероятно е най-добре да запазите таблица с единични продукти, вместо да копирате данни между маси. Ако се притеснявате за производителността, за това са индексите.
Можете да създадете съставен първичен ключ за продуктовата таблица, напр. PRIMARY KEY (product_id, revision) . Може би съхранена процедура за намиране на текущата ревизия—като изберете реда с най-високата revision за конкретен product_id — ще бъде полезно.