삭제3 Spring - MySQL 대량의 데이터 삭제하는 법(batch) Spring 프로젝트를 하던 중 테이블의 1000만건 이상의 데이터를 삭제해야 하는 상황이 있었다. 처음에는 1000만 건의 데이터를 DELETE query 한번으로 했으나,이렇게 되면 인덱스가 잡혀있더라도 삭제 - 재인덱싱하는데 100초이상의 시간이 걸렸다. (컬럼 길이에 따라 다르겠지만..) 그래서 삭제 주기를 늘리는 대신 일정 단위만큼 나눠서 삭제하는 방법을 선택했다. 1. MySQL 프로시저를 통해 삭제하는 방법SET @batch_size = 1000; -- 배치 크기 설정REPEAT DELETE FROM your_table WHERE your_index_column IN ( SELECT your_index_column FROM your_table .. 2025. 2. 9. [MySQL] 컬럼 정보 수정하기 컬럼 추가 1. 테이블에 컬럼 맨뒤에 추가 ALTER TABLE [테이블명] ADD [컬럼명] [자료형] ALTER TABLE board ADD board_type varchar(100) NOT NULL; 2. 테이블에 컬럼 맨앞에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] [자료형] FIRST ALTER TABLE board ADD board_id varchar(256) NOT NULL FIRST 3. 테이블에 지정 컬럼 뒤에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] 자료형 AFTER [앞컬럼명] ALTER TABLE board ADD board_contents varchar(256) NOT NULL COMMENT '게시글 내용' AFTER board_id 컬럼 삭제 .. 2023. 7. 20. [Oracle] 오라클 테이블 생성, 수정, 삭제 1. 테이블 생성 (CREATE TABLE)CREATE TABLE TABLE_NAME (NUMBER NUMBER(8),NAME VARCHAR2(20)); 2. 테이블 삭제 (DROP TABLE)DROP TABLE TABLE_NAME; - 참조 제약조건이 있을경우.DROP TABLE TABLE_NAME CASCADE CONSTRAINT; (CASCADE 옵션을 붙여줍니다.) 3. 테이블명 변경(RENAME TABLE)RENAME 변경전 테이블명 TO 변경후 테이블명;RENAME TABLE_NAME TO NEW_TABLE_NAME; 2017. 12. 5. 이전 1 다음 반응형