zoukankan      html  css  js  c++  java
  • php操作mysql,1分钟内插入百万数据

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/qq_33862644/article/details/80354085
    实测45秒:

    原理:mysql插入数据库 插入时候并没有提交到mysql表里,在insert后面需要执行commit操作才会插入数据库

    默认mysql是自动提交,如果关闭自动提交,在insert几十万数据在进行commit那么会大大缩短入库时间

    建表
    用户表
    CREATE TABLE `user` (

             `id` BIGINT (20),

             `name` VARCHAR(20)

        )ENGINE=INNODB;

    日志表

    CREATE TABLE `log` (

             `id` BIGINT (20),

             `msg` VARCHAR(20)

        )ENGINE=INNODB;

    ini_set('max_execution_time', '0');    //mysql执行时间
    @mysql_pconnect("localhost","root","root") or die('connect failed');
    @mysql_select_db("test") or die('select db failed');
    //这一步很重要  取消mysql的自动提交
    mysql_query('SET AUTOCOMMIT=0;');
     
    mysql_query('set names utf8');
    $begin = time();
    $count = 1;
     
    for($i=1;$i<=1000000;$i++){
        mysql_query("insert into user values($i,'name')");
        //插入20W提交一次
        if($i%200000=='0'){
            $count++;
            mysql_query("insert into log values($i,$count)");
            mysql_query("commit");
        }
    }
     
    $end = time();
    echo "用时 ".($end-$begin)." 秒 <hr/>";
  • 相关阅读:
    微信公众号分析
    微信自动聊天机器人
    使用itchat分析自己的微信(1)
    内容补充 ----- 易错点
    运算符优先级
    亡羊补牢系列之字符串格式化
    亡羊补牢之python基础语法
    python基础,构建一个301个字典库
    mysql每个表总的索引大小
    mysql 查看单个表每个索引的大小
  • 原文地址:https://www.cnblogs.com/yszr/p/11367626.html
Copyright © 2011-2022 走看看