• 如何在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万条半小时左右(不知道有没有什么更好的办法)

  • 相关阅读:
    opacity背景层透明导致文字也透明
    [css3]叉叉旋转效果
    [css]当父元素的margin-top碰上子元素的margin-top
    Python_Mix*异常处理
    Python_Mix*OS模块,序列化模块种的json,pickle
    Python_Mix*random模块,time模块,sys模块,os模块
    Python_Mix*re模块基础方法,进阶,正则表达式的使用
    Python_Mix*re模块,元字符,量词
    Python_Mix*匿名函数,sorted,filter,map,递归函数,二分法查找
    Python_Mix*内置函数
  • 原文地址:https://www.cnblogs.com/zzcsza/p/11979910.html
Copyright © 2020-2023  润新知