【性能測試】:關於新造鋪地數據,開發存儲過程的一些

begin
declare counter int;
declare i int;
declare myuserid int;
declare myorderid int;
set counter=item;
set myuserid = userid;
set myorderid = orderid;
while counter >=1 do
INSERT INTO `ham`.`b_m_m` (`id`,`type_desc`) 
VALUES (myuserid, '金卡');
set counter =counter-1;
set myuserid = myuserid+1;
set myorderid = myorderid+1;
set i=i+1;
if i=1000 then
set i=0;
end if;
end while;
end

 

作性能測試,會要對測試環境的數據進行造數,保證數據庫表的數據量在必定的級別,這樣才能測試出數據庫的真實性能數據庫

若是要對一張表生成千萬級別的數據量,經過insert插入的方式就太慢了,就要使用到存儲過程性能

一,建立序列測試

CREATE SEQUENCE DB.WX_REDPOCKET_ADJUSTLIMITINF_NO
  AS BIGINT
  START WITH 1
  CACHE 20
  MAXVALUE  5000000
  ORDER

二,寫存儲過程spa

CREATE PROCEDURE EA_ACCOUNT_INF_PRO (IN IN_NUM integer) -- 要插入的數據量
BEGIN
DECLARE COUNT_1 integer;
DECLARE LCD_PRDNO_FLOW VARCHAR(15);--流水號
SET COUNT_1=0;
WHILE COUNT_1 < IN_NUM
DO
    SELECT cast(nextval for WX_REDPOCKET_ADJUSTLIMITINF_NO as char(15)) INTO LCD_PRDNO_FLOW FROM sysibm.sysdummy1;
    insert into EA_ACCOUNT_INF (EAI_ACCOUNTID, EAI_IDENTIFYCUSTID, EAI_CHANNELID, EAI_BUSSITYPE, EAI_CURRTYPE, EAI_BALANCEDIR, EAI_BALANCE, EAI_USABLEBALANCE, EAI_WITHDRAWLIMIT, EAI_LINECREDIT, EAI_FROZENAMONT, EAI_ACCUMULATE, EAI_ACCOUNTSTATE, EAI_ACCOUNTATTRIBUTE, EAI_BRNO, EAI_ACCOUNTNAME, EAI_OPENTIME, EAI_CHANGETIME, EAI_CLOSEDTIME, EAI_CLOSEDREASON, EAI_PASSWORD, EAI_OPENBRNO, EAI_SUBJECTID, EAI_CARDNO, EAI_CARDNAME, EAI_MOBILENO, EAI_CUSTID, EAI_ISCHECKPHONENO, EAI_ISCHECKDK, EAI_FAILNUMS, EAI_LASTFAILTIME, EAI_ACCNO) values (LCD_PRDNO_FLOW, '211000000826', '101', '100', '156', '00', 283.73, 283.73, 0.00, 0.00, 0.00, null, '00', 'Y', null, null, null, null, null, null, 'FACA2E872169030C', null, null, '6222023602057198962', '李聶渝', '11111111111', '111000000001', '00', '00', 0, null, null);
    SET COUNT_1=COUNT_1+1;
END WHILE;
END

三,調用存儲過程code

call EA_ACCOUNT_INF_PRO(200000)

插入200000條數據blog

相關文章
相關標籤/搜索