插入100万条相同的记录,sql语句又应该怎么写呢?

解决方案 »

  1.   

    CREATE TABLE userinfo (
      userid int(11) NOT NULL auto_increment,
      username varchar(200) NOT NULL,
      friend int(11) NOT NULL default '0',
      PRIMARY KEY  (userid)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
      

  2.   

    这是你创建的表:
    mysql> use test;
    Database changed
    mysql> create table userinfo(useri int not null auto_increment primary key,
        -> username char(20),friend int)
        -> ;
    Query OK, 0 rows affected (0.16 sec)下面是一个存储过程,可以插入8000000条随机记录。
    mysql> delimiter //
    mysql> CREATE PROCEDURE load_part_tab()
        -> begin
        ->  declare v int default 0;
        ->          while v < 8000000
        ->  do
        ->  insert into part_tab
        ->  values (v,'testing partitions',adddate('1995-01-01',(rand(v)*36520) mod 3652));
        ->  set v = v + 1;
        ->  end while;
        -> end
        -> //
    Query OK, 0 rows affected (0.00 sec)
    mysql> delimiter ;
    mysql> call load_part_tab();
    Query OK, 1 row affected (8 min 17.75 sec)
    你自己看着来修改吧,里面的表结构是这样的:
    mysql> desc part_tab;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | c1    | int(11)     | YES  |     | NULL    |       |
    | c2    | varchar(30) | YES  |     | NULL    |       |
    | c3    | date        | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
      

  3.   

    接上面的问题,把friendid插入一系列的随机数,改怎么写呢?