我有一个 MySQL 数据库,我想测试它的性能。我想将大约 500 万条记录插入到具有自动递增主键的表中。有没有一种简单的方法可以用 SQL 快速做到这一点?我知道我可以通过管道输入 .sql 文件,但我真正想做的只是插入相同的数据(但 PK 不同),500 万次。
问问题
1938 次
2 回答
2
您可以插入 NULL 作为 PK 的值,或者只是不在插入语句的列列表中指定它。这样它就会自动递增。
for ($i=0; $i<5000000; $i++) {
"INSERT INTO table (id,name) values (NULL,'somename')"; // obviously in form of $dbh->() something
}
于 2012-05-04T01:03:29.880 回答
1
这可能不是一个好的性能测试,因为除了 PK 之外,相同的行不会创建具有规则分布值的索引,因此大多数查询不会展示预期的性能。
我会考虑使用像 Faker 这样的测试数据生成工具(存在 ruby 和 perl 品种):
于 2012-05-04T01:43:39.013 回答