将Select
然后Insert
大数据导入数据库(InnoDB Engine)的最佳方法是什么?
我需要从另一个表中插入超过60000行而不会产生LIMIT
结果。
有没有办法防止我的服务器内存消耗过多或加快查询速度?我可以用LIMIT 5000
分解查询,直到复制完所有数据为止?
这是示例查询:
$query = 'SELECT * FROM orig_table WHERE user_id = 1 AND sent = 0'; // more than 60000 rows
if ( $query ) {
foreach ( $query as $row ) {
'INSERT INTO copy_table VALUE()';
}
}
答案 0 :(得分:1)
也许只需在一个查询中执行
insert into copytable (column1,column2)
SELECT column1,column2 FROM orig_table WHERE user_id = 1 AND sent = 0