【问题标题】:PHP MySQL "Select" then "Insert" Large DataPHP MySQL“选择”然后“插入”大数据
【发布时间】:2015-11-12 12:31:48
【问题描述】:

Select 然后Insert 大数据导入数据库(InnoDB 引擎)的最佳方法是什么?

我有超过 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()';    
  }   
}

【问题讨论】:

标签: php mysql pdo innodb


【解决方案1】:

也许只在一个查询中执行

insert into copytable (column1,column2)
SELECT column1,column2 FROM orig_table WHERE user_id = 1 AND sent = 0

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多