利用存储过程生成大量的数据(oracle,mysql)
在进行查询操作的性能测试时,往往需要测试大数据量模式下的查询功能的性能,这是就需要我们去创造一些测试数据来填充数据库,来模拟真是环境,造数据的方式有很多种,可以使用loadrunner,jmeter等压测工具压一些数据进去,但是这样做的效率不高,下面记录一个快速生成大量有规则数据的方法,那就是数据库的存储过程函数,通过运行函数快速的生成大量的数据。(使用这个方法的前提是你需要足够了解你要操作的数据库表的结构)
1、oracle数据库
DECLARE --声明函数
i INT;
BEGIN
i:=10;
WHILE(i<10000)
LOOP --设置loop循环
i:=i+1;
INSERT INTO PROJECT_ITEM (ID, CODE, VERSION, FOLDER_CODE, NAME, TYPE, ASSORT)
VALUES ('a94a341d2a3b4d25bd6212a1'||i, '370000-SDGT-XK-'||i||'-'||i, 1, '370000-SDGT-XK-'||i, '批量新增测试事项'||i, 'XK', '');
END LOOP;
COMMIT; --循环执行完后进行提交
END; 备注:i变量可以通过“||”拼接到value中。
2、mysql数据库
delimiter $$ --结束符为 $$
DROP PROCEDURE IF EXISTS mytest; --判断进程是否存在,存在则删除
CREATE PROCEDURE mytest() --新建进程
BEGIN
declare i int;
DECLARE j varchar(200);
set i = 2;
while i < 11 do --循环体
SET j=CONCAT('wwq',i); --拼接字符串
INSERT INTO pub_user(`ID`, `NAME`, `ACCOUNT`, `PASSWORD`, `USER_CODE`)
VALUES (i, '王馨', j, 'e10adc3949ba59abbe56e057f20f883e', '');
INSERT INTO pub_user_post (`POST_CODE`, `USER_CODE`)
VALUES (i, 'A685187D29AF4AD793F2753DC17C1435');
INSERT INTO pub_user_role (`ROLE_CODE`, `USER_CODE`, `APP_CODE`)
VALUES ('95AC32C8B9874B4085A01187C341067B', i, 'INSPUR-DZZW-TYSP');
set i=i+1;
end while;
end $$ --结束定义语句
delimiter ; --先把结束符恢复为 ;
call mytest(); --调用进程
利用存储过程生成大量的数据(oracle,mysql)的更多相关文章
- Mysql利用存储过程插入400W条数据
CREATE TABLE dept( /*部门表*/ deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0, /*编号*/ dname VARCHAR(20) NO ...
- Mysql利用存储过程插入500W条数据
比如插入1000W数据,不建议一次性插入,比如一次插入500W,分批插入. 创建表 /*部门表*/ CREATE TABLE dept( id INT UNSIGNED PRIMARY KEY AUT ...
- 利用js生成读取页面数据并导出为excel
//核心,js部分 */var navs = new Vue({ el: '#navs', data: { navs: [] }, ready: function () { this.$http.ge ...
- SQL Server 存储过程生成流水号
SQL Server利用存储过程生成流水号 USE BiddingConfig SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO -- =========== ...
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
C# DateTime的11种构造函数 别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...
- shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中
shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...
- mysql数据安全之利用二进制日志mysqlbinlog备份数据
mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...
- 将数据从MySQL迁移到Oracle的注意事项
将数据从MySQL迁移到Oracle的注意事项1.自动增长的数据类型处理MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动 ...
- 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]
使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非 ...
随机推荐
- Django中模型(一)
Django中模型(一) 一. 基本开发流程 1. 配置数据库 2. 定义模型类:一个模型类都在数据库中对应一张数据表 3. 生成迁移文件 4. ...
- Java并发基础概念
Java并发基础概念 线程和进程 线程和进程都能实现并发,在java编程领域,线程是实现并发的主要方式 每个进程都有独立的运行环境,内存空间.进程的通信需要通过,pipline或者socket 线程共 ...
- win2003 HookPort 服务启动失败的解决办法!
Win2003系统每次开机启动时都弹出个对话框报HookPort 服务启动失败,很多网友都遇到同类问题,问题根源是360安全卫士引起的,官方一直没有给出解决方案 问题描述:Win2003系统每次开机启 ...
- ASP.Net GridView 基础 绑定字段
通过以前的学习,我们实现了效果如下: 现在我想修改显示/隐藏部分列,有两种做法: 一.在配置数据源的时候不是有查询哪些字段的吗,去除不需要的字段,重新绑定. 二.就是直接编辑列 下面是分析每种字段类型 ...
- thinkpad T61 Fn功能键的完整说明及有关问题解决
FN键的作用Fn 键是一个组合键,它自己本身没有用,需要和其他功能键组合起来以迅速改变操作特征,它可以组合的键在键盘上都用蓝色标注,具体作用为: Fn+F2:锁定计算机显示器.要再次打开计算机显示器, ...
- js中的冒泡排序
<!-- 冒泡排序:把一组数列按照一定的顺序进行排列,从大到小,或者从小到大 --> // 控制循环的轮数 arr = [3,14,55,2,1,4,5 ...
- linux脚本运行错误:$'ls\r': command not found
原因在于 windows 下的换行符是 \r\n,而 linux 下的换行符是 \n 解决方案: 首先运行如下命令安装 dos2unix: yum install dos2unix -y 接下来运行如 ...
- 为什么浏览器控制台返回不是undefined,而是一串数字
setTimeout( (function(){console.log("ok")} )(), 16) 在浏览器控制台输入这段代码的时候返回的不是"undefined&q ...
- ionic ios 打包 真机测试常见问题
1.ionic 项目在windows下正常打包安卓包时 迁移到mac下打包ios时 不需要复制平台目录platforms即可 不用再mac下去安装各种插件信息 2.ionic 下不能访问api信 ...
- mongodb的docker化安装
查询mongo镜像 docker search mongo 拉取镜像(拉取STARS最多的那个就可以了) docker pull mongo tips:如果拉取不成功,多pull几次就可以了. 使用自 ...