PDO处理大批量数据的入库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PDO处理大批量数据的入库相关的知识,希望对你有一定的参考价值。

<?php
//最东端 东经135度2分30秒
//最西端 东经73度40分
//最南端 北纬3度52分
//最北端 北纬53度33分
//转换为度的单位
$dbName = ‘txhl‘;//数据库名称
$tableName = ‘ah‘;//数据表名称
$username = ‘root‘;//用户名
$password = ‘root‘;//密码
$num = 100000;//规定入库数据条数
try
{
$conn = new PDO(‘mysql:host=<你要用到的数据库IP地址>;dbname=‘.$dbName,$username,$password,array(PDO::ATTR_PERSISTENT,true));
$result = $conn->exec("truncate {$tableName}");

if($result == false && $conn->errorInfo()[0] != 00000)
{
throw new PDOException("Error :".$conn->errorInfo()[2]);
}
set_time_limit(200);
for($i=0;$i<$num;$i++){
$east = 135+20.30/60;
$west = 73+40/60;
$south = 3+53/60;
$north = 53+33/60;
$du = rand(36,38);//经度 75 135 (10份 6度/)lng
$wei = rand(117,122);//纬度 18 51 (10份 3度/)lat
$fen = rand(100000,999999);
$fen1 = rand(100000,999999);
$latlng = $du.‘.‘.$fen;
$lnglat = $wei.‘.‘.$fen1;
$conn->exec("insert into eh(lat,lng) values($latlng,$lnglat)");
echo time()."插入成功,自增id为".$conn->lastInsertId().PHP_EOL;

}
ignore_user_abort(); //终止脚本的执行
}catch(PDOException $e)//否则抛出异常
{
echo $e->getMessage().PHP_EOL; exit;
}catch(Exception $e)//否则抛出异常
{
echo $e->getMessage().PHP_EOL; exit;
}

?>

以上是关于PDO处理大批量数据的入库的主要内容,如果未能解决你的问题,请参考以下文章

java如何将所有要入库的数据全部转为大写?

大数据批量处理神器 - 自定义周期批量消费队列的实现

elasticsearch使用BulkProcessor批量入库数据

java Spring 的JDBCTemplet批量入库数据时如果有一条数据入库不成功,其他的数据还会入库吗

MongoDB批量操作时字段为null时不会入库

mysql批量入库问题