전체테이블 500만건 중에 250만건 정도 날릴려고 합니다
mariadb 쪽 확인해보니 loop 돌아서 지우는게 좋다 나와 있어 작성 해 봤습니다
DROP PROCEDURE IF EXISTS loop_test;
DELIMITER $$
CREATE PROCEDURE loop_test(IN _tblnm varchar(100), IN _cd int(3))
BEGIN
REPEAT
SET @prep_stmt = CONCAT('DELETE FROM ', _tblnm, ' WHERE CD = ', _cd, ' LIMIT 10000');
PREPARE stmt FROM @prep_stmt;
EXECUTE stmt;
UNTIL ROW_COUNT() = 0 end REPEAT;
end;
innodb 이며 300만건씩 인서트 일어나며 종종 지웁니다.
그냥 delete 보다 속도가 떨어지는거 같은데 개선방법이 없을까요?