有时为了做性能测试,需要向mysql中插入大量的测试用数据,以下介绍几种方法:


第一种方法:先用PHP脚本生成数据,然后导入到mysql

1)创建一张名为archives的数据表,数据表结构见下图


2)写一个用于生成测试数据的PHP脚本,测试数据假设要10000条,并写入到e:\insert.sql这个文件里

<?php

$file_path = 'e:/insert.sql';
set_time_limit(0);

$start_time = microtime(true);

// 生成10000条数据,并写入到文件中
for ($i = 0; $i < 10000; $i++) {
	$timestamp = time();
	// $content就是代表一行数据,每个字段之间使用\t隔开,换行符可以使用UNIX风格的\n
	$content = "'This is a long title'\t'RockyLiang'\t{$timestamp}\t'hello this is the very long content'\n";
	file_put_contents($file_path, $content, FILE_APPEND);
	echo "write the $i records complete\n";
}

$end_time = microtime(true);
$spend = $end_time - $start_time;
echo "complete: {$spend} seconds\n";

?>

3)执行PHP脚本,用了4分多钟,比较久,test4.php是PHP脚本的名字



4)在mysql的命令行界面中执行以下命令(可以重复执行增加数据量),即可将刚才生成的数据插入到数据表,10000条记录只需要0.5秒。。。


Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐