2

可能重复:
如何快速复制大型 innodb 表

我想在同一个数据库中复制我的 Innodb 表。表包含大约 400 万条记录。我想要新的表格副本仅用于测试目的。在新复制的表中,我只想稍微改变结构(就像我想删除旧的主键,然后创建一个新的复合主键并按 RANGE 添加逻辑分区)但内容将保持不变。

我尝试使用 Phpmyadmin 复制该 innodb 表,但时间太长,然后我决定故意终止该进程,因为它占用了服务器资源。

在结构上进行一些更改(删除旧的 PK 并添加新的复合 PK 并按 RANGE 添加逻辑分区)复制该表的最佳方法是什么?

如果我首先复制结构并对其进行必要的更改然后复制数据,有什么办法吗?请记住,该表是 Innodb,其中包含大约 400 万条记录!!!

据我得出的结论,PHPMyadmin 不是一个好方法。

4

1 回答 1

0

您可以创建新的表结构并设置 PK 和索引。

然后使用 INSERT ... SELECT 查询将另一个表中的数据获取到新表中。

http://dev.mysql.com/doc/refman/5.5/en/insert-select.html

于 2012-08-29T05:50:51.950 回答