php - MySQL php INSERT INTO 需要很长时间

标签 php mysql sql

我想在我的表中插入 0 到 10000000(一千万)个主键。

我的表格如下:

p_key-->      (INT[10]) AUTO_INCREMENT PRIMARY KEY UNIQUE
hash_value--> (SMALLINT)
req_count--> (SMALLINT)

仅添加 100 条记录需要 11 秒 对于 500 条记录,它给出了 30 秒的超时时间。(wamp 服务器 localhost php mysql)

for ($i=0;$i<100;$i++){
    $query='INSERT INTO hash_table (hash_value, req_count) VALUES (0,0)';
    $result=$con->query($query);
    if(!$result){
        echo ("Error message:".$con->error." \n");
        exit();
    }
  }

我是不是做错了什么。

最佳答案

您应该在一个 SQL 查询中插入多条记录。

例如:

$values='';

for ($i=0;$i<100;$i++){
    $values.='(0,0),';
}

$values=substr($values,0,-1);

$query='INSERT INTO hash_table (hash_value, req_count) VALUES '.$values;
$result=$con->query($query);
if(!$result){
    echo ("Error message:".$con->error." \n");
    exit();
}

关于php - MySQL php INSERT INTO 需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24383984/

相关文章:

PHPDoc:如何记录不同的类属性选项

php - 谷歌管理员 SDK : You are not authorized to access this API

php - 如何计算mysql数据的换行数?

MySql 函数与 kohana ORM

php - 将 MySQL 查询放在 try{ } 之外是否安全

php - 使用循环将记录插入 SQL 数据库

mysql : How can i set number of gap 5 on each increment number in auto increment column?

sql - 通过 SDLC 传播数据库更改的常见做法?

mysql仅授予对一个表及其某些列的选择权限

mysql - 通过 PhpMyAdmin 执行简单的 SQL 查询时遇到的问题