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

  • 相关阅读:
    ASP.NET请求管道、应用程序生命周期、整体运行机制
    PHP面试总结
    ASP.NET MVC源码分析系列
    SQL中的重要语句
    Nicescroll滚动条插件的用法
    Nunit2.5.10快速上手(笔记)
    ucore 源码剖析
    《ucore lab8》实验报告
    《ucore lab7》实验报告
    《ucore lab6》实验报告
  • 原文地址:https://www.cnblogs.com/zzcsza/p/11979910.html
Copyright © 2011-2022 走看看