当前位置:Gxlcms > 数据库问题 > 如何在mysql数据库生成百万条数据来测试页面加载速度

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

时间:2021-07-01 10:21:17 帮助过:31人阅读

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数据库生成百万条数据来测试页面加载速度

标签:页面加载速度   mysq   l数据库   swing   reg   font   win   region   mil   

人气教程排行