来个PROCEDUREDROP PROCEDURE IF EXISTS `insert`;CREATE PROCEDURE `insert`(num int) BEGIN DECLARE i INT; DECLARE var INT; SET i=1; WHILE i<num DO SET var=FLOOR(RAND()*10000000000); INSERT INTO table VALUES (var); SET i=i+1; END WHILE; END; CALL insert(1000);
$arr = array();
for($i=10; $i<1000; $i++){
$rand = rand(1,9999999999);
$arr[] = $rand;
mysql_query("insert into table num values($rand)");
}
BEGIN
DECLARE i INT;
DECLARE var INT;
SET i=1;
WHILE i<num DO
SET var=FLOOR(RAND()*10000000000);
INSERT INTO table VALUES (var);
SET i=i+1;
END WHILE;
END;
CALL insert(1000);
$codeString = 'abcdefghizklmnopqrst123456790uvw';
for($i=1;$i<=500;$i++)
{
for($j=0;$j<=6;$j++)
{
$code .= $codeString[rand(0,30)];
}
$coupon->insert(array("coupon_code"=>$code,"coupon_name"=>$name,"coupon_discount"=>$discount,"coupon_status"=>'1'));
$code = 'fei';
}
大概就是上面这个功能,大家是不是觉得效率很低,要怎么改进呢?
6楼的我得慢慢消化下。
myisam引擎下,用存储过程插入20W条数据不到一分钟。
http://www.jb51.net/article/25664.htm
http://www.baidu.com/s?wd=mysql+%D7%D6%B7%FB%B4%AE%CB%E6%BB%FA%BA%AF%CA%FD&rsv_bp=0&rsv_spt=3&oq=%D7%D6%B7%FB%B4%AE&sug=%D7%D6%B7%FB%B4%AE%CA%FD%D7%E9&rsv_n=1&rsp=2&inputT=22103摆了一把看看结果可不可以。