【发布时间】:2012-06-26 15:43:06
【问题描述】:
有没有一种更有效、更省力的方法将所有记录从一个表复制到另一个表:
INSERT INTO product_backup SELECT * FROM product
通常,product 表将保存大约 50,000 条记录。两个表的结构相同,有 31 列。我想指出这不是我的数据库设计,我继承了旧系统。
【问题讨论】:
-
我认为这是最好的方法。通过这种方式,您也可以保留索引。
-
Speedwise 已经达到了最好的水平。当然,您可以将备份表上的索引创建推迟到所有数据都复制完之后,这将显着提高插入速度。
-
这很有趣,谢谢。我对数据的复制感到好奇,想知道这是否会消耗数据库(
SELECT *让我失望,或者由于查询的构造方式需要很长时间来处理)。如果这是一种可以接受的复制数据的方式,那很好。 -
我认为如果您有数百万行,您可能会遇到麻烦。在这种情况下,您可以使用转储/加载解决方案。
-
我永远不会在这个表中有数百万行。我看不到有 > 100,000