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, '', '孔师傅', CONCAT('P00000000',id), '2017-10-28 20:21:54', '', '', baseid, '11.00', '2017-10-28 20:21:54', '', '', ''); 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()+;
WHILE id<=
DO
INSERT INTO `xx`.`x_x` (`id`,`keyword`,`red_pkg_id`,`city_ids`,`start_time`,`end_time`) VALUES (id,CONCAT('P0000abcd',id),,'44,74','2018-11-03 00:00:00','2018-11-03 23:59:00'); SET id = id+;
END WHILE;
END $
CALL proc_initData();

navicat 批量插入 测试数据的更多相关文章

  1. oracle存储过程批量插入测试数据

    前几天测试中债时,自定义资产有一级类型和二级类型,一级类型下有很多分类,每个分类下又有很多二级分类,而要做的是每种类型都要建立一个自定义资产,并做一笔交易,然后测试是否出值,于是写了一个存储过程批量插 ...

  2. mysql批量插入测试数据

    一.建表语句 use test; create table student( Sno ) NOT NULL COMMENT '学号', Sname ) NOT NULL COMMENT '姓名', S ...

  3. 010-MySQL批量插入测试数据

    1.由于测试需要 需要将数据插入到百万级别,故需要使用循环语句,循环参看:009-MySQL循环while.repeat.loop使用 方式三.使用values批量插入[[推荐答案]] 基础格式 IN ...

  4. oracle批量插入测试数据

    做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法.产生测试数据的SQ ...

  5. Oracle 存储过程 批量插入测试数据

    有时候需要做DB的效率测试时,需要模拟大量数据.可以根据一条原始数据,通过执行存储过程拷贝出大量数据: CREATE OR REPLACE PROCEDURE proc_msw_strsql IS i ...

  6. mysql循环批量插入测试数据

    http://blog.51cto.com/tianxingzhe/1676097 DROP PROCEDURE test_insert ; DELIMITER $$ CREATE PROCEDURE ...

  7. Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07

    目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET.POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Aj ...

  8. Mysql 如何批量插入百万行测试数据

    Mysql 如何批量插入百万行测试数据

  9. mysql批量插入简单测试数据

    mysql批量插入简单测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 1.mysql创建测试表 CREATE TABLE ` ...

随机推荐

  1. webpack快速入门——实战技巧:开发和生产并行设置

    package.json中,devDependencies和dependencies是不同的 devDependencies:开发依赖 dependencies:生产依赖(线上) 1.安装生产环境的依 ...

  2. MVC各部分技术体现

      视图层用jsp,javascript 作用--显示数据,接受用户输入数据 控制层用servlet 作用--接收视图层数据,传输 给业务逻辑层(即模型层) 模型层用普通java class 作用-- ...

  3. php7 引用成为一种类型

    <?php $a= ref_count= $b=$a; is_ref= ref_count= $c=&$a; is_ref= ref_count 即a c 共用一个zval, b单独用一 ...

  4. 安卓Android Support Design Library——Snackbar

    介绍: Snackbar是Android Support Design Library库支持的一个控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它, ...

  5. static变量生命周期小研究

    A页面:定义一个普通类,类包含一个静态变量a,值为:111111111111111111 B页面:修改a的值为:22222222222222 C页面:用来查看a的值 1.在vs2008中,先打开B,再 ...

  6. CentOS6.5下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    第一步: Ambari安装之Ambari安装前准备(CentOS6.5)(一) 第二步: Ambari安装之部署本地库(镜像服务器)(二) 第三步: Ambari安装之安装并配置Ambari-serv ...

  7. win7,8走网络打印机出现删除设备和打印机门未关闭的解决方法

    不多说,直接上干货! 用学校的内网连接, 即可. 右键,查看设备网页. 出现下面的情况: 多学学. 欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑       同时,大家 ...

  8. Maven启动代理服务器

    0.什么叫代理服务器? 代理服务器英文全称是(Proxy Server),其功能就是代理网络用户去取得网络信息.形象的说:它是网络信息的中转站. 代理服务器就好象一个大的Cache,这样就能显著提高浏 ...

  9. C/C++ -- Gui编程 -- Qt库的使用 -- Qt编码问题

    1.直接使用QObject::trUtf8("中文字符串") 2.头文件<QTextCodec>QTextCodec::setCodecForTr(QTextCodec ...

  10. python笔记09-----装饰器,生成器,迭代器

    1.装饰器 定义:本质是函数,(装饰其他函数)就是为其他函数添加附加功能 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 实现装饰器的知识储备: 1.      函数即“变 ...