开发者社区> 问答> 正文

如何快速处理当PHP+Mysql 同时插入1W条数据时?

PHP+Mysql 同时插入1W条数据 如何快速处理

展开
收起
落地花开啦 2016-01-31 16:22:07 3215 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    开启事务,注意超时和内存限制,建议在cli下插入.比如Ubuntu(i5-3230M),开启事务时,PHP往SQLite插入100万条记录只用16秒,平均每秒插入62500条.
    `<?php
    $table = 'CREATE TABLE logs (

     id       INTEGER PRIMARY KEY,
     date     VARCHAR(19) NOT NULL,
     content  VARCHAR(200) NOT NULL

    )';
    if (!file_exists('data.db3')) {

     $dbh = new PDO('sqlite:data.db3');
     $dbh->query($table);

    } else {

     $dbh = new PDO('sqlite:data.db3');

    }
    $date = date('Y-m-d H:i:s');
    $content = time();
    $dbh->beginTransaction();
    for($i=0;$i<1000000;$i++) {

     $stmt = $dbh->prepare('INSERT INTO logs (date, content) VALUES (:date, :content)');
     $stmt->bindParam(':date', $date, PDO::PARAM_STR, 19);
     $stmt->bindParam(':content', $content,  PDO::PARAM_STR, 200);
     $stmt->execute();
     $stmt = null;

    }
    $dbh->commit();
    $dbh = null;
    `

    2019-07-17 18:36:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像