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

  • 相关阅读:
    IDEA 2021.1 推出语音、视频功能,边写代码边聊天
    HTML5实现首页动态视频背景
    前端项目自动化构建工具——Webpack入门教程
    JavaScript多线程及事件循环机制
    SVN迁移至Git,保留commit提交记录
    Windows平台下搭建自己的Git服务器
    SVN服务器搭建、备份及多服务器同步方案(Windows)
    全图文分析:如何利用Google的protobuf,来思考、设计、实现自己的RPC框架
    注册表修改右键菜单的说明
    powershell换行输出,换行输入命令,多行命令的执行
  • 原文地址:https://www.cnblogs.com/zzcsza/p/11979910.html
Copyright © 2020-2023  润新知