thinkphp5-循环插入百万条数据
个人博客https://xgs888.top/post/view?id=53
//由于是跨服务器的两个数据库需要建一个数据模型 <?php namespace appindexcontroller; use thinkController; use appindexmodelindex as indexModel; class Index extends Controller { public function insertdata() { ini_set("max_execution_time", "0");//设置永不超时,无限执行下去直到结束 $model = new indexModel(); $datas = []; //循环插入一百万 for ($i=10000; $i <1000000 ; $i+=10000) { # code... $j = $i-10000; $data = db("phone_record")->where("id>=$j and id<$i ")->select(); foreach ($data as $key => $value) { # code... $datas[$key]["phone_no"] = $value["phone_no"]; $datas[$key]["mac"] = $value["mac"]; $datas[$key]["area"] = $value["area"]; $datas[$key]["source_station"] = $value["source_station"]; $datas[$key]["up_time"] = $value["up_time"]; $datas[$key]["rad_time"] = $value["rad_time"]; } $model->saveAll($datas); unset($datas);//销毁插入的数据数组 } /*$re = $model->select(); if($re){ //模型查询需要转换成数组,查询集合需要用collection() $list = collection($re)->toArray(); } print_r($list);*/ } }
index.php模型
<?php namespace appindexmodel; use thinkModel; class index extends model{ protected $connection = [ // 数据库类型 "type" => "mysql", // 数据库连接DSN配置 "dsn" => "", // 服务器地址 "hostname" => "127.0.0.1", // 数据库名 "database" => "radius", // 数据库用户名 "username" => "root", // 数据库密码 "password" => "", // 数据库连接端口 "hostport" => "", // 数据库连接参数 "params" => [], // 数据库编码默认采用utf8 "charset" => "utf8", // 数据库表前缀 "prefix" => "", ]; protected $table = "phone_record"; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2