mysql 프로시저 loop를 이용하여 테스트 데이터 insert

 

간혹 테스트를 위해 수백만 건의 데이터를 테이블에 넣어줄 일이 생긴다.

그럴때 다음의 프로시저 샘플을 이용하여 데이터를 밀어 넣자.

 

DELIMITER $$

DROP PROCEDURE IF EXISTS FILL_RATE_TEST_DATA$$

CREATE PROCEDURE FILL_RATE_TEST_DATA()

BEGIN

DECLARE i INT DEFAULT 1;

DECLARE log_date VARCHAR(255);

 

WHILE i <= 30 DO

SET log_date = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL i DAY), ‘%Y%m%d’);

INSERT INTO 테이블 (LOG_DATE, INVENTORY_ID, REQ_CNT) VALUES (log_date, ‘0x2011’, 3000000);

SET i = i + 1;

END WHILE;

END$$

DELIMITER $$

 

위의 프로시저 생성 후 CALL 명령어를 통해 실행한다.

CALL FILL_RATE_TEST_DATA();