Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL将数百万虚拟记录插入MySQL数据库_Mysql_Sql - Fatal编程技术网

SQL将数百万虚拟记录插入MySQL数据库

SQL将数百万虚拟记录插入MySQL数据库,mysql,sql,Mysql,Sql,我有一个MySQL数据库,我想测试它的性能。我想在一个具有自动递增主键的表中插入大约500万条记录。有没有一种简单的方法可以用SQL快速实现这一点?我知道我可以在.sql文件中插入管道,但我真正想做的就是插入相同的数据(但使用不同的PK),500万次。您可以插入NULL作为PK的值,或者干脆不在insert语句的列列表中指定它。这样它就会自动递增 for ($i=0; $i<5000000; $i++) { "INSERT INTO table (id,name) values (

我有一个MySQL数据库,我想测试它的性能。我想在一个具有自动递增主键的表中插入大约500万条记录。有没有一种简单的方法可以用SQL快速实现这一点?我知道我可以在.sql文件中插入管道,但我真正想做的就是插入相同的数据(但使用不同的PK),500万次。

您可以插入NULL作为PK的值,或者干脆不在insert语句的列列表中指定它。这样它就会自动递增

for ($i=0; $i<5000000; $i++) {
    "INSERT INTO table (id,name) values (NULL,'somename')"; // obviously in form of $dbh->() something
}
用于($i=0;$i()某物
}

您可以插入NULL作为PK的值,或者干脆不在insert语句的列列表中指定它。这样它就会自动递增

for ($i=0; $i<5000000; $i++) {
    "INSERT INTO table (id,name) values (NULL,'somename')"; // obviously in form of $dbh->() something
}
用于($i=0;$i()某物
}

这可能不是一个好的性能测试,因为相同的行不会为PK以外的任何对象创建具有规则分布值的标记,因此大多数查询不会显示预期的性能

<>我会考虑使用像FAKER(Ruby和Perl变体)这样的测试数据生成工具:


这可能不是一个好的性能测试,因为相同的行不会为PK以外的任何对象创建具有规则分布值的标记,因此大多数查询不会显示预期的性能

<>我会考虑使用像FAKER(Ruby和Perl变体)这样的测试数据生成工具:


但这并没有告诉我怎么做500万次,也没有告诉我怎么做500万次。