php – MySqli插入海量数据
发布时间:2020-12-13 22:24:25 所属栏目:PHP教程 来源:网络整理
导读:我正在研究一个 PHP脚本,它将数据大量插入表中. 我正在使用这样的预备声明: $sql = "INSERT INTO clans(id,clanid,name,badge,status,playercount,score,requiredtrophies,warswon,warslost,warstied,location,warfrequency,exp,level,description,playerjs
我正在研究一个
PHP脚本,它将数据大量插入表中.
我正在使用这样的预备声明: $sql = "INSERT INTO clans(id,clanid,name,badge,status,playercount,score,requiredtrophies,warswon,warslost,warstied,location,warfrequency,exp,level,description,playerjson,lastupdate) VALUES ('',?,now())"; $stmt = $con->prepare($sql); //prepare update statement $stmt->bind_param('ssisiiiiiissiiss',$clanid,$name,$badge,$status,$playercount,$score,$requiredtrophies,$warswon,$warslost,$warstied,$location,$warfrequency,$exp,$level,$description,$playerarray); 之后我有一个while循环,它将执行大量的查询(数十万甚至几百万!),其中的数据非常大! playerjson是一个巨大的json数组. 数据将从网站API的JSON响应中接收. 我查看了事务,但他们最终得到了一个502 Bad Gateway,我认为这是因为内存中的数据太多了.这不是超时问题,因为我在nginx和ini_set中处理它们 那么批量插入大量数据的最快方法是什么? 解决方法
最快的方法是LOAD DATA INFILE.考虑创建一个文件!
但在你的情况下,创建一个临时表 create table clans_temp like clans; 并插入其中.然后在一个查询中更新原始文件并删除临时表. 据我所知,鉴于问题的限制,这是最快捷的方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |