zoukankan      html  css  js  c++  java
  • navicat 批量插入 测试数据

    1. 前言

    遇到线上大sql执行较慢, 10s+, 做优化改进时,首先想到的是在本地造出一个类似的库环境,先本地实验。

    然后往表中创建大量数据...

    2. 方案

    利用mysql函数来插入大量数据

    代码

    BEGIN
        #Routine body goes here...
    DECLARE id int; 
    DECLARE driverid int; 
    DECLARE baseid int;
    set id=LAST_INSERT_ID()+1;
    WHILE id<1700000 DO
    set driverid=RAND()*67890;
    set baseid=RAND()*1000;
    INSERT INTO `xxl`.`car_xx` (`id`, `driver_id`, `driver_phone`, `driver_name`, `order_no`, `created_time`, `car_group`, `service_type`, `numprize_base_id`, `order_amount`, `updated_time`, `order_praise`, `order_doubt`, `order_risk`) VALUES (id, driverid, '15801050217', '孔师傅', CONCAT('P00000000',id), '2017-10-28 20:21:54', '34', '1', baseid, '11.00', '2017-10-28 20:21:54', '1', '0', '0');
    
    SET id=id+1;
    END
    WHILE;
    
    RETURN id;
    END

    执行遇到

    然后做了清空测试表的操作。

    再执行,系统负载如下

    结果

    再看表 ,170万数据入库了

    ###################

    2018 12 03 更新

    再次用这个 函数 Navicat 运行按钮 置灰 操作不了 ...

    2. 存储过程

    DROP PROCEDURE IF EXISTS proc_initData;
    DELIMITER $ 
    CREATE PROCEDURE proc_initData() 
    BEGIN 
    DECLARE id INT ;
    set id=LAST_INSERT_ID()+1;
    WHILE id<=50000 
    DO 
    INSERT INTO `xx`.`x_x` (`id`,`keyword`,`red_pkg_id`,`city_ids`,`start_time`,`end_time`) VALUES (id,CONCAT('P0000abcd',id),2,'44,74','2018-11-03 00:00:00','2018-11-03 23:59:00');
    
    SET id = id+1; 
    END WHILE; 
    END $
     CALL proc_initData(); 
  • 相关阅读:
    【HDOJ6687】Rikka with Stable Marriage(Trie树,贪心)
    【CF1244D】Paint the Tree(树形DP,树)
    【HDOJ6681】Rikka with Cake(扫描线,线段树)
    CPU亲和力
    iostat、vmstat和mpstat命令
    sar命令介绍
    Linux网络调试工具
    svn使用入门
    深入探究C/C++基本数据类型
    core文件与gdb调试
  • 原文地址:https://www.cnblogs.com/rocky-fang/p/9075700.html
Copyright © 2011-2022 走看看