标签:com 数据 eol 单位 快速 null gen char utf8
测试 MySQL 插入 5000万 条数据耗时多久,可修改参数:$password 、$insert_num
<?php $localhost = "localhost"; $username = "root"; $password = "121212"; // 建立数据库连接 $link = @mysql_connect($localhost, $username, $password); // 创建测试数据库 $sql = "CREATE DATABASE IF NOT EXISTS test"; @mysql_query($sql, $link); // 选择数据库 $sql = "USE test"; $res = @mysql_query($sql, $link); // 创建测试表 $sql="CREATE TABLE IF NOT EXISTS `test` ( `id` INT NOT NULL AUTO_INCREMENT , `number` INT NOT NULL , `string` VARBINARY(64) NOT NULL , `msg` TEXT NOT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_general_ci;"; @mysql_query($sql, $link); // 插入数据 $insert_num = 5000; // 单位:万 $start_time = microtime(true); for ($i=0; $i<$insert_num; ++$i) { // 使用事务快速插入 $sql = "BEGIN"; @mysql_query($sql, $link); for ($j=0; $j<10000; ++$j) { $number = rand(1, 2000000000); $string = md5($number); $msg = strval($number).$string; $sql = "INSERT INTO `test`(`number`, `string`, `msg`) VALUES ({$number},‘{$string}‘,‘{$msg}‘)"; @mysql_query($sql, $link); } $sql = "COMMIT"; @mysql_query($sql, $link); } $end_time = microtime(true); echo "插入{$insert_num}万条数据,用时:".($end_time-$start_time)."秒".PHP_EOL; ?>
标签:com 数据 eol 单位 快速 null gen char utf8
原文地址:http://www.cnblogs.com/pzk7788/p/6592824.html