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 判断网页是否是utf8编码的方法
Jun 06 PHP
百度地图API应用之获取用户的具体位置
Jun 10 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
php判断是否连接上网络的方法实例详解
Dec 14 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 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
PHP设计模式之装饰者模式
2012/02/29 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
Javascript 读后台cookie代码
2008/09/15 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
JavaScript模拟push
2016/03/06 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
浅谈Python 参数与变量
2020/06/20 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
国际贸易专业求职信
2014/06/04 职场文书
会计人员演讲稿
2014/09/11 职场文书
党员自我评价范文2015
2015/03/03 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis