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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
探讨php中header的用法详解
Jun 07 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 PHP
Yii框架页面渲染操作实例详解
Jul 19 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
SONY SRF-40W电路分析
2021/03/02 无线电
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
自己开发Dojo的建议框架
2008/09/24 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python 自动补全(vim)
2014/11/30 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
python中eval与int的区别浅析
2019/08/11 Python
python异常处理和日志处理方式
2019/12/24 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
狼和鹿教学反思
2014/02/05 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
优秀经理获奖感言
2014/03/04 职场文书
农业局学习党的群众路线教育实践活动心得体会
2014/03/07 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
2014年统战工作总结
2014/12/09 职场文书
创建文明城市倡议书
2015/04/28 职场文书
新教师教学工作总结
2015/08/12 职场文书
数据库之SQL技巧整理案例
2021/07/07 SQL Server
Golang数据类型和相互转换
2022/04/12 Golang