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. java 中什么是aop

    AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...

  2. js 从基础入门 到放弃 001

    快速入门  JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中: <html> <head> <s ...

  3. python学习笔记08-字符串

    字符串是用单引号或者双引号引起来来的  单引号和双引号没有什么区别 1字符串支持乘法操作 >>> print('hello'*2) hellohello >>> 2 ...

  4. RabbitMQ : 几种Exchange 模式

    AMQP协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队列.生产者通常不知道是否一个消息会被发送到队列中,只是将消息发送到一个交换机.先由Exchange来接收,然后Exchang ...

  5. 关于component-scan中base-package包含通配符的问题探究

    http://blog.csdn.net/u012325167/article/details/75388990 今天在配置Spring的component-scan时,发现了一个有趣的问题.就是在指 ...

  6. Django中涉及金融的项目

    在Django中,如果一个项目涉及了金融,他的要求是十分严格的. 所以嘞,这里就有一些坑,很多坑,第一次开发的时候很容易出现一系列的错误 在涉及金融计算的地方,不能使用float类型 什么鬼,但事实就 ...

  7. 解决ssh登陆超时方案

    ssh登陆一般默认3分钟无操作则断开连接,有时候还是很烦的,于是解决这个问题. sudo修改/etc/ssh/sshd_conf文件 #sudo vim /etc/ssh/sshd_config #在 ...

  8. tomcat启动(Ⅶ)请求处理--Processor.process(SocketWrapper<S> socketWrapper)

    tomcat启动(六)Catalina分析-StandardServer.start() 上一篇分析到:Http11NioProcessor.process(SocketWrapper<S> ...

  9. elasticsearch插件安装之--中文分词器 ik 安装

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ ElasticSearch中内置了许多分词器, standa ...

  10. Eclipse内存讲解,eclipse.ini设置

    Ubuntu 系统下,Eclipse 配置文件: vi ~/eclipse/eclipse.ini -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:Max ...