===============================================================================================================
性能测试经常需要造大批量数据,这里笔记下存储过程造数据。
这里的以perf_teach数据库为例
用navicate premium 客户端 ,连库,进入perf_teach库的teacher表,点击菜单栏的函数-新建函数-选择‘过程’类型,然后‘完成’,出现如下界面:
BEGIN
#Routine body goes here...
END;
========================================
然后便可以进行简单逻辑的数据构造:
Mysql:存储过程
存储过程是运行的mysql服务器端的一些程序,单线程 直接与数据库交互
这里以某库(perf_teach)的teacher表为例,插入数据。
BEGINDECLARE i INT DEFAULT 1;
DECLARE p_sex VARCHAR(5);
-- WHILE循环
WHILE i<10000 DO
if i%2=0 THEN
SET p_sex = 'M';
ELSE
SET p_sex = 'W';
END IF;
INSERT INTO teacher (name,sex,age,course,created,modified) VALUES(CONCAT('teacher_',FLOOR(RAND()*10000)),p_sex,FLOOR(RAND()*1000),'math',NOW(),NOW());
SET i=i+1;
END WHILE;
END
然后保存以上存储过程(保存为test),如果保存顺利说明存储过程没有报错,否侧保存失败并报错。
show procedure status;
SHOW CREATE PROCEDURE perf_teach.test; -- (库名.存储名)
在mysql中执行存储过程:
call test;
select count(1) from teacher 会发现库里多了10000条数据。
当然还有复杂关系的存储过程,表与表有关联关系的,这里只是最简单的存储过程的建立。
========================================================================================