Home  >  Q&A  >  body text

[PHP] 如何往 MYSQL 中填入大量随机数据 , 以测试语句性能 ?

自己有一个空的 MYSQL 数据库, 如何往 MYSQL 中填入大量随机数据 , 以测试语句性能 ?

大家集思广益, 能跳过 PHP 直接用 SQL 实现更好.

目标 50万 -- 100万 这个级别左右.

阿神阿神2656 days ago578

reply all(7)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 15:06:15

    试试generatedata 这个是开源的, 可以在本地搭建一个站点,生成自己想要的数据。
    其他类似的还有很多,参考这个列表:

    http://databene.org/databene-benerator/similar-products.html

    reply
    0
  • 阿神

    阿神2017-04-10 15:06:15

    php 生成一个sql文件 导入~

    INSERT INTO `table` ( `field1`, `field2` ) 
    VALUES
    ( 1,1 ),
    ( 2,2 )
    ....
    ( 5000,5000 );
    

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:06:15

    自己偶然间发现了一个纯 SQL 的办法, 嘎嘎!

    BENCHMARK(loop_count,expression)

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 15:06:15

    试试存储过程 比PHP要快多了

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 15:06:15

    declare i int default 0;
    while i < 100000000 do
    insert into users(value) values(RAND());
    set i = i + 1;
    end while;
    一句SQL不是就搞这了

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 15:06:15

    insert into tab select * from tab;

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 15:06:15

    貌似不行把,之前问过专业dba

    reply
    0
  • Cancelreply