如果这纯粹是出于“存档”目的,那么可能会有一个单独的修订表更好。
但是,如果您需要将先前的修订版本与当前的修订版本同等对待(例如,如果您希望使用户能够将产品还原到先前的修订版本),那么最好保留一个产品表,而不是复制数据表之间。如果您担心性能,这就是索引的用途。
您可以为产品表创建复合主键,例如
PRIMARY KEY (product_id,revision)。也许找到一个用于存储当前修订版本的存储过程(通过
revision为特定版本选择最高的行)
product_id会很有用。

如果这纯粹是出于“存档”目的,那么可能会有一个单独的修订表更好。
但是,如果您需要将先前的修订版本与当前的修订版本同等对待(例如,如果您希望使用户能够将产品还原到先前的修订版本),那么最好保留一个产品表,而不是复制数据表之间。如果您担心性能,这就是索引的用途。
您可以为产品表创建复合主键,例如
PRIMARY KEY (product_id,revision)。也许找到一个用于存储当前修订版本的存储过程(通过
revision为特定版本选择最高的行)
product_id会很有用。