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无限分类的类
Jan 02 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
PHP命名空间namespace用法实例分析
Sep 27 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
PHP 构造函数和析构函数原理与用法分析
Apr 21 PHP
Laravel配合jwt使用的方法实例
Oct 25 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编写注册后Email激活验证的实例代码
2013/03/11 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
javascript正则表达式基础知识入门
2015/04/20 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
django框架模板语言使用方法详解
2019/07/18 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
python mysql中in参数化说明
2020/06/05 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
python statsmodel的使用
2020/12/21 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
学生实习介绍信
2014/01/15 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书