php快速导入大量数据的实例方法


Posted in PHP onSeptember 23, 2019

PHP快速导入大量数据到数据库的方法

第一种方法:使用insert into 插入,代码如下:

$params = array(‘value'=>'50′);

 

set_time_limit(0);

 

echo date(“H:i:s”);

 

for($i=0;$i<2000000;$i++){

 

$connect_mysql->insert($params);

 

};

echo date(“H:i:s”);

最后显示为:23:25:05 01:32:05 也就是花了2个小时多!

第二种方法:使用事务提交,批量插入数据库(每隔10W条提交下)最后显示消耗的时间为:22:56:13 23:04:00 ,一共8分13秒 ,代码如下:

echo date(“H:i:s”);

 

$connect_mysql->query(‘BEGIN');

 

$params = array(‘value'=>'50′);

 

for($i=0;$i<2000000;$i++){

 

$connect_mysql->insert($params);

 

if($i%100000==0){

 

$connect_mysql->query(‘COMMIT');

 

$connect_mysql->query(‘BEGIN');

 

}

 

}

 

$connect_mysql->query(‘COMMIT');

 

echo date(“H:i:s”);

第三种方法:使用优化SQL语句

将SQL语句进行拼接,使用 insert into table () values (),(),(),()然后再一次性插入,如果字符串太长,则需要配置下MYSQL,

在mysql命令行中运行 :

set global max_allowed_packet = 2*1024*1024*10;

消耗时间为:11:24:06 11:25:06;

插入200W条测试数据仅仅用了1分钟!代码如下:

$sql= “insert into twenty_million (value) values”;

 

for($i=0;$i<2000000;$i++){

 

$sql.=”('50′),”;

 

};

 

$sql = substr($sql,0,strlen($sql)-1);

 

$connect_mysql->query($sql);

总结:在插入大批量数据时,第一种方法无疑是最差劲的,而第二种方法在实际应用中就比较广泛,第三种方法在插入测试数据或者其他低要求时比较合适,速度确实快。

感谢大家的学习和对三水点靠木的支持。

PHP 相关文章推荐
解析如何用php screw加密php源代码
Jun 20 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
Mar 19 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
关于Yii中模型场景的一些简单介绍
Sep 22 #PHP
php定期拉取数据对比方法实例
Sep 22 #PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 #PHP
php设计模式之单例模式用法经典示例分析
Sep 20 #PHP
php数组和链表的区别总结
Sep 20 #PHP
php输出反斜杠的实例方法
Sep 19 #PHP
php实现session共享的实例方法
Sep 19 #PHP
You might like
CodeIgniter配置之routes.php用法实例分析
2016/01/19 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python与C互相调用的方法详解
2017/07/14 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python高级用法总结
2018/05/26 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
OpenCV 边缘检测
2019/07/10 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
化工操作工岗位职责
2014/04/29 职场文书
英语教师自荐信
2014/05/26 职场文书
教师专业自荐信
2014/05/31 职场文书
财务管理专业求职信
2014/06/11 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python
分析Python list操作为什么会错误
2021/11/17 Python