您的位置:首页 > 数据库 > MySQL

mysql通过存储过程批量造数据

2017-07-26 17:04 399 查看
相信大家有的时候测sql性能的时候需要批量造数据,一条条插入插入插到累死也不可能插完,所以现在存储过程就可以帮我们大忙了:

创建表的结构sql语句:

CREATE TABLE `recon_trade_auth_order` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`trade_order_no` varchar(30) NOT NULL COMMENT '交易认证订单号',
`mer_order_no` varchar(64) NOT NULL COMMENT '商户交易认证订单号',
`mer_no` varchar(64) DEFAULT NULL COMMENT '商户号',
`mer_name` varchar(64) DEFAULT NULL COMMENT '商户名称',
`pro_no` varchar(32) DEFAULT NULL COMMENT '产品编码',
`pro_name` varchar(64) DEFAULT NULL COMMENT '产品名称',
`order_time` datetime DEFAULT NULL COMMENT '交易时间',
`auth_status` tinyint(4) DEFAULT NULL COMMENT '认证状态(1:待认证,2:认证成功,3:认证失败,4:认证未知)',
`fee_amt` decimal(16,4) DEFAULT NULL COMMENT '费用金额',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`extend1` varchar(255) DEFAULT NULL COMMENT '扩展字段1',
`extend2` varchar(255) DEFAULT NULL COMMENT '扩展字段2',
`extend3` varchar(255) DEFAULT NULL COMMENT '扩展字段3',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_index_1` (`trade_order_no`),
KEY `index_select_2` (`mer_no`,`pro_no`,`auth_status`),
KEY `index_select_3` (`mer_order_no`),
KEY `index_select_4` (`order_time`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8 COMMENT='认证类交易订单信息';


接下来我就需要写造数据的存储过程以及调用存储过程的sql:

delimiter //
DROP PROCEDURE IF EXISTS proc_buildata;

CREATE PROCEDURE proc_buildata(IN loop_times INT)
BEGIN
DECLARE var INT DEFAULT 100;
WHILE var<loop_times DO
SET var=var+1;
INSERT INTO recon_trade_auth_order (
`id`,
`trade_order_no`,
`mer_order_no`,
`mer_no`,
`mer_name`,
`pro_no`,
`pro_name`,
`order_time`,
`auth_status`,
`fee_amt`,
`create_time`,
`update_time`,
`extend1`,
`extend2`,
`extend3`
) VALUES (
var,
var+1,
'yhsy0011',
'C1100003050700000004',
'测试商户',
'P0100000000010',
'借记卡四要素认证',
'2017-7-19 15:23:26',
2,
NULL,
'2017-7-5 16:08:00',
'2017-7-5 16:08:00',
NULL,
NULL,
NULL
);
END WHILE;
END  //
delimiter;

CALL proc_buildata(100000);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: