博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
存储过程制造数据
阅读量:6241 次
发布时间:2019-06-22

本文共 3557 字,大约阅读时间需要 11 分钟。

 

 由于之前在写好项目后,由于项目中需要进行sql性能测试,但实际由于数据库中的实际数据量相对比较少,测试效果不佳,所以想着直接采用存储过程,直接生成数据,这样也快速高效。

 

编写mysql存储过程,以下以实际项目为例

78 -- 建立存储过程 79 CREATE DEFINER=`root`@`localhost` PROCEDURE `add_storage_memory`( IN n INT ) 80 BEGIN 81         -- 定义参数 82     DECLARE 83         i INT DEFAULT 1;-- 定义 84         DECLARE commodity_id VARCHAR(40); 85         DECLARE receipt_id VARCHAR(40); 86         DECLARE rec_code VARCHAR(20);
    set autocommit=0;--设置不自动提交 87 -- while 循环来一下,生成百万数据就靠它 88 WHILE 89 i < n DO 90 -- 获取 uuid 91 -- 循环体里面进行一系列的业务操作即可,比如A表插入数据,b表插入数据 92 set commodity_id = UUID( ); 93 94 SET receipt_id = UUID( ); 95 96 SET rec_code = CONCAT( "00000", i ) ;-- 插入商品 97 INSERT INTO `res_provider_product` ( `id`, `provider_id`, `name`, `specification`, `unit`, `price`, `category_id`, `category`, `creation`, `create_time`, `updater`, `update_time`, `status` ) 98 VALUES 99 ( commodity_id, '98989b55-09f7-4871-b5c9-085590e786b2', '竹牙签', '', NULL, NULL, '905f87e7-21bc-47e1-9e61-a85645524cb2', '其他', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-05-18 19:52:04', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-05-18 19:52:04', 1 );-- 插入定价100 INSERT INTO `res_product_price` ( `id`, `product_id`, `price`, `start_time`, `end_time`, `creation`, `create_time`, `updater`, `update_time`, `status` )101 VALUES102 ( UUID( ), commodity_id, 2.00, '2018-06-09', NULL, 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:27:43', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:27:43', 50 );-- 插入入库单103 INSERT INTO `bis_receipt` ( `id`, `code`, `storage_id`, `provider_Name`, `provider_id`, `total_amount`, `business_time`, `creation`, `create_time`, `updater`, `update_time`, `status` )104 VALUES105 ( receipt_id, rec_code, '4512ef23-b20b-40f0-9ca1-b3316c4cc6c6', '库存供应商', '98989b55-09f7-4871-b5c9-085590e786b2', 4.00, '2018-06-09 00:00:00', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:30:27', 'cd9335a9-06e6-4a39-84ec-2dee58378b4c', '2018-06-09 16:30:27', 50 );-- 插入入库单子表106 INSERT INTO `bis_receipt_b` (107 `id`,108 `receipt_id`,109 `code`,110 `product_id`,111 `product_name`,112 `specification`,113 `unit`,114 `quantity`,115 `price`,116 `total_price`,117 `category_id`,118 `category`,119 `rec_dept`,120 `comment`,121 `creation`,122 `create_time`,123 `updater`,124 `update_time`,125 `status`126 )127 VALUES128 (129 UUID( ),130 receipt_id,131 rec_code,132 commodity_id,133 '竹牙签',134 '',135 NULL,136 2.00,137 2.00,138 4.00,139 '905f87e7-21bc-47e1-9e61-a85645524cb2',140 '其他',141 NULL,142 '',143 'cd9335a9-06e6-4a39-84ec-2dee58378b4c',144 '2018-06-09 16:30:27',145 'cd9335a9-06e6-4a39-84ec-2dee58378b4c',146 '2018-06-09 16:30:27',147 1148 );149 //最后面添加++操作150 SET i = i + 1;151 152 END WHILE;153   commit;--提交事务154 END

 

转载于:https://www.cnblogs.com/insane-Mr-Li/p/10124106.html

你可能感兴趣的文章
解决Office 2013无法打开文件并提示错误的问题
查看>>
php-fpm的安装和启动
查看>>
HTML5之Canvas标签简要学习
查看>>
基于Netty4的HttpServer和HttpClient的简单实现
查看>>
读写锁
查看>>
Java对象的序列化和反序列化实践
查看>>
利用webmin修改超级管理员root用户登陆密码
查看>>
ENode 2.0 - 整体架构介绍
查看>>
solr长文本搜索问题
查看>>
Redis客户端Jedis(一)
查看>>
iOS学习之应用偏好设置
查看>>
手把手玩转win8开发系列课程(26)
查看>>
森林、树与二叉树相互转换
查看>>
Spark随谈(一)—— 总体架构
查看>>
算法系列15天速成——第十四天 图【上】
查看>>
django 快速实现登录
查看>>
导入数据时遇见ORA-00054
查看>>
模拟终端打印效果特效
查看>>
forfiles命令批量删除N天前文件
查看>>
顺序队列
查看>>