如何在mysql数据库生成百万条数据来测试页面加载速度

Posted ZZZZZZa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在mysql数据库生成百万条数据来测试页面加载速度相关的知识,希望对你有一定的参考价值。

1.首先复制一条sql

在复制前,需要确定该记录是否有主键

 

若无,则代码非常简单,

 

insert into gl_energy_meter_data SELECT * from gl_energy_meter_data where dosage="12432";

                                 复制的表名↑                                              粘贴的表名↑                        ↑ 某个字段的值最好唯一            

 

若有主键,一般是ID,则需要随机生成新的ID

INSERT INTO tb_swing_card (
swing_card_number,
swing_card_device_id,
swing_card_serial,
swing_card_address,
swing_card_type,
swing_card_time,
swing_card_emp_id,                         这一块为复制的表的所有字段
swing_card_emp_name,
swing_card_organ_name,
swing_card_id,
swing_card_device_name,
swing_card_device_type,
swing_card_device_direction,
swing_card_organ_id,
swing_card_organ_parent_ids,
tower_id,
tower_name,
floor_id,
floor_name,
region_id,
region_name 
) 
SELECT 
swing_card_number,
swing_card_device_id,
swing_card_serial,
swing_card_address,
swing_card_type,
swing_card_time,
swing_card_emp_id,
swing_card_emp_name,
swing_card_organ_name,
REPLACE (uuid( ), -, ‘‘ ),            这一块为粘贴地点的所有字段,将该id改为自动生成
swing_card_device_name,
swing_card_device_type,
swing_card_device_direction,
swing_card_organ_id,
swing_card_organ_parent_ids,
tower_id,
tower_name,
floor_id,
floor_name,
region_id,
region_name 
FROM
    tb_swing_card                     
WHERE
    swing_card_id = "5d9fe31f7359a9141d7ebb5";        所复制数据的某个字段的值(id)

此时成功生成一条数据,接来下的思路就是循环复制

2.循环一百万次执行

drop procedure if exists test_loop;    
delimiter //
create procedure test_loop()           #  创建存储过程       
begin
    declare i int default 1;
    while i<1000000   循环次数
    do
      #  此处复制1中代码
        set i=i+1;
    end while;
    commit;
end //
delimiter ;

SELECT * from gl_energy_meter_data;             # 复制的表名   
CALL test_loop();

 

3.时间:10万条数据耗时3分钟左右。100万条半小时左右(不知道有没有什么更好的办法)

以上是关于如何在mysql数据库生成百万条数据来测试页面加载速度的主要内容,如果未能解决你的问题,请参考以下文章

mysql 快速生成百万条测试数据

mysql生成百万级数量测试数据(超简单)

mysql中如何批量生成百万级数据

MySQL快速生成本地测试数据

Mysql快速插入千万条测试数据

教程,使用YCSB测试MYSQL数据库,获取千万条测试后的数据