특정 테이블의 조회 결과(대량 ROW)를 파일로 저장하고

저정된 결과 파일을 다시 DB(Table)로 저장하는 방법 입니다.

대량의 Row(수백 MB)이기 때문에 쿼리를 통한 Insert가 아닌 load data 명령을 통해 수행 합니다.

  대상 테이블 구조

tbl_user_mode_score

 

  다량의 조회 결과를(1000만건) 파일로 저장하는 쿼리 입니다.

select * from tbl_user_mode_score limit 10000000
INTO OUTFILE 'e:\query_result_1000man.txt'
FIELDS TERMINATED BY '\t'
ENCLOSED BY ''
LINES TERMINATED BY '\n';

  - 조회 결과는 아래와 같습니다. (Field 와 Field 는 탭으로 구분)

Row 수: 1000만건, 시간: 7.203 sec, 파일 크기: 367 MB

 

 

 위 조회 결과를 별도 Table에 저장하는 방법 입니다.

    1. 데이터를 저장할 DB에 조회 내용과 동일한 구조의 테이블을 생성 합니다.

    2. cmd 창에서 mysql 콘솔에 접속 합니다.

    3. 아래 명령어를 실행하여 데이터를 입력 합니다.

load data infile 'e:/query_result_1000man.txt' into table tbl_user_mode_score ( usn, mode_idx, win_cnt, lose_cnt, last_play_date ) ;

    - 입력 완료시 메시지 : 입력 건수 및 오류 상황이 표시 됩니다.

Row 수: 1000만건, 시간: 1 min 6.337 sec

 

이상 입니다.

+ Recent posts