PHP+MySQL百万级数据插入数据库

2017-07-25  本文已影响0人  myFamily329

说明:想要记录整理一下简单php脚本的学习内容,嘿嘿,虽然简单,但真的有学到东西。

在开发过程中可以thinkphp框架有数据的ThinkPHP实现excel的批量导入功能,这种方法适用于运营过程中正式的数据导入,在开发过程是测试性能时,可以写一个简单的脚本批量大量插入虚拟数据。

写一个简单的php脚本,在此过程中的总结与学习到知识的查询。

<?php  
//mysql执行时间
ini_set('max_execution_time', '0');
ignore_user_abort(TRUE); //如果客户端断开连接,不会引起脚本abort
//链接数据库:链接的服务器,拥有服务器进程的用户的名称,密码
$con=mysql_connect("localhost","root","root");
// 判断数据库是否连接
if(!$con){
    die('Could not connect:'.mysql_error());
}
//mysql_select_db() 函数设置活动的 MySQL 数据库
mysql_select_db("test", $con);
//取消数据库的自动提交
mysql_query('SET AUTOCOMMIT=0;');   
//在数据库设置了UTF8编码
mysql_query('set names utf8'); 
//获取当前时间
$begin = time();  
function insertNew(){
    for($i=1;$i<=1000000;$i++){
    //向数据表中插入数据
     mysql_query("insert into `t_New`(`name`, `birth`, `create_time`, `status`) values ('lucky','20170724',now(),'9')");
   //2w条数据提交一次数据库
    if($i%20000=='0'){    
     mysql_query("commit");   
    }  
 }
}
//php中如何调用用户自定义函数
call_user_func('insertNew');
$end = time();   
//计算总用时
echo "用时 ".($end-$begin)." 秒 <hr/>"; 
//关闭数据库连接
mysql_close();  
?>  
//2w条数据提交一次数据库
    if($i%20000=='0'){    
     mysql_query("commit");   
    } 
  mysql_query("insert into `t_New`(`name`, `birth`, `create_time`, `status`) values ('lucky','20170724',time(),'9')");

存储效果是


time()存储时间

之后使用now()可以正确存储

mysql_query("insert into `t_New`(`name`, `birth`, `create_time`, `status`) values ('lucky','20170724',now(),'9')");
now()存储时间
mysql_query("delete from `t_New` where id ='$i' ");
//php中如何调用用户自定义函数
call_user_func('insertNew');

还有不要在函数前加public,并不是在类中,写thinkphp习惯了,嘿嘿

开启Markdown编写模式,2017年7月25日 10:26
好好学习,天天向上,今天也是!
上一篇下一篇

猜你喜欢

热点阅读