比如我想1000个10位随机数 然后插入数据库 有没有什么比较高效的方法呢?

解决方案 »

  1.   


    $arr = array();
    for($i=10; $i<1000; $i++){
    $rand = rand(1,9999999999);
    $arr[] = $rand;
    mysql_query("insert into table num values($rand)");
    }
      

  2.   

    直接用mysql 来操作应该可以吧,可惜我的mysql 很烂,等mysql 高人来给你段代码.什么唠叨,1万米...
      

  3.   

    来个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);
      

  4.   

      $code = 'fei';
        $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楼的我得慢慢消化下。
      

  5.   

    唷,原来还隐藏个mysql 达人.以后多教教我.
      

  6.   

    存储过程挺好。
    myisam引擎下,用存储过程插入20W条数据不到一分钟。
      

  7.   

    http://database.51cto.com/art/201011/235374.htm
    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摆了一把看看结果可不可以。