php分批次批量插入数据
2016-04-28 17:46
716 查看
一、 php实现分批次批量插入
php在处理大批量mysql数据插入操作的时候,可以利用php字符串拼接或数组方式进行分批次插入,可以有效避免sql语句超出mySql 的max_allowed_packet限制。
1.字符串拼接方法
$sql = $sql_pre = "INSERT INTO term_pv_rev (TermId,impv,rev) VALUES ";
$i = 0;
foreach ($term as $key => $value)
{
$i++;
$sql .= "({$key},{$value['impv']},{$value['rev']}), ";
if($i % 1000 == 0)
{
$objMysql->query(substr($sql,0,-1));
$sql = $sql_pre;
}
}
if($sql != $sql_pre)
{
$objMysql->query(substr($sql,0,-1));
}
2.数组方法
$sql = $sql_pre = "INSERT INTO term_pv_rev (TermId,impv,rev) VALUES ";
$insert_arr = array();
foreach ($term as $key => $value)
{
$insert_arr[] = "({$key},{$value['impv']},{$value['rev']})";
if(sizeof($insert_arr)>=1000)
{
$sql = $sql.implode(',', $insert_arr);
$objMysql->query($sql);
$sql = $sql_pre;
$insert_arr = array();
}
}
if(sizeof($insert_arr)>=1000)
{
$sql = $sql.implode(',', $insert_arr);
$objMysql->query($sql);
}
php在处理大批量mysql数据插入操作的时候,可以利用php字符串拼接或数组方式进行分批次插入,可以有效避免sql语句超出mySql 的max_allowed_packet限制。
1.字符串拼接方法
$sql = $sql_pre = "INSERT INTO term_pv_rev (TermId,impv,rev) VALUES ";
$i = 0;
foreach ($term as $key => $value)
{
$i++;
$sql .= "({$key},{$value['impv']},{$value['rev']}), ";
if($i % 1000 == 0)
{
$objMysql->query(substr($sql,0,-1));
$sql = $sql_pre;
}
}
if($sql != $sql_pre)
{
$objMysql->query(substr($sql,0,-1));
}
2.数组方法
$sql = $sql_pre = "INSERT INTO term_pv_rev (TermId,impv,rev) VALUES ";
$insert_arr = array();
foreach ($term as $key => $value)
{
$insert_arr[] = "({$key},{$value['impv']},{$value['rev']})";
if(sizeof($insert_arr)>=1000)
{
$sql = $sql.implode(',', $insert_arr);
$objMysql->query($sql);
$sql = $sql_pre;
$insert_arr = array();
}
}
if(sizeof($insert_arr)>=1000)
{
$sql = $sql.implode(',', $insert_arr);
$objMysql->query($sql);
}
相关文章推荐
- php 用户访问菜单页面,必须登录,判断用户是否登录
- php 用户访问菜单页面,必须登录,判断用户是否登录
- php 用户访问菜单页面,必须登录,判断用户是否登录
- php缓存数组到文件
- php5.4 trait 理解与学习
- Robi改造计划RTP---人脸识别可以动了
- TP LINK WN822N
- PHP程序精华你忽略了哪些?
- 【干货】PHP中9大缓存技术
- laravel 笔记
- ntp
- PHP 面向对象的三大特征
- php单元测试-phpunit,以及thinkphp框架集成的单元测试下载
- PHP+IIS心得
- php-pdo的lastInsertId返回0的问题
- PHP $_SERVER详解
- Yii2.0 多域名跨域同步登录退出
- php保存文件
- 黄聪:PHP7.0中htmlspecialchars出错解决方案(wordpress)
- php实现简单验证码并且验证