Mysql中具有相同列名的表之间的数据复制
Posted
技术标签:
【中文标题】Mysql中具有相同列名的表之间的数据复制【英文标题】:Data replication between tables with same column names in Mysql 【发布时间】:2015-10-17 13:41:37 【问题描述】:我们有一个包含 7000 万用户记录的主表,其中包含过去 1 年的所有用户,无论他们是过期用户还是活跃用户。
这个表的性能太慢了,所以我们想用更好的索引和更好的数据类型分配重新创建这个表,并将主表中的所有记录插入到这个新表中。
主表每分钟都会更新/插入,因为它非常动态。
在不遗漏任何用户的情况下,我需要将主表中的所有记录(7000 万条)插入到新表中。
最好的方法是什么?异步插入 7000 万条记录需要多长时间。
是否有可用的数据复制?
是否有任何建议我为此提供最佳解决方案,我需要更快地更新新表。
【问题讨论】:
SQL Server 还是 mysql? this 似乎相关。您需要创建一个从属设备来实现它。 【参考方案1】:从 select 中插入一个简单的插入不能解决您的问题吗?
LOCK TABLES `oldtable` WRITE;
INSERT INTO `newtable` SELECT * FROM `oldtable`;
UNLOCK TABLES;
【讨论】:
这将阻塞应用程序一段时间,并且复制后的任何更改都无法同步。 @Vatev,是的,这里无法同步数据。请任何人给我一个解决方案,因为我的桌子每天都在变大。以上是关于Mysql中具有相同列名的表之间的数据复制的主要内容,如果未能解决你的问题,请参考以下文章
使用 SQL 和 Sqlalchemy 查询的表具有相同的列名
如何从 CodeIgniter 中具有相同列名的表中输出数据?