티스토리 뷰
* 개요
나는 3천만개 에 대해서 ID 구간별로 1000개씩 쪼개서 3000개 쿼리를 만들었지.
* 14GB SQL 사례
질문 : 14GB 의 SQL import 어떻게 합니까?
- 답변1] max_allowed_packet 기본값 1Mb => 1Gb 로 올리고
net_buffer_length (네트워크 버퍼?) 1M 으로 올리고
foreign_key_checks = 0 ( 외래키 체크 안함..)
상태로
source 명령 이용하여 동일하게 import
(SQL 그대로 쓰되 세팅 변경하여 빠르게... )
의문 : 근데 max_allowed_packet 이 1GB 면 14GB 는 안되는거 아닌가?
- 답변2] BigDump(유틸) 이용하란 의견
https://www.ozerov.de/bigdump/
- 답변 3] SELECT FROM INTO 구문 사용하라는 의견
CSV 로 DUMP 했다면 '미친듯이 빠르다'
* 1000만개 레코드 사례
- SELECT FROM INTO / LOAD INFILE INTO TABLE 구문 사용
* LOAD DATA ... 사용법
http://moonlighting.tistory.com/140
- CSV 로 EXPORT 해야 사용..
- 테이블에 인덱스 있으면 느리니, 먼저 INDEX 없이 올린후 나중에 INDEX 생성
- 2GB 가 10분내에 ..
* 참고 : dump 시 진행상황 보기
mysqldump -u root -p --all-databases | pv --progress --size 1000m > dump.sql
* 참고 2 : 나눠서 dump
'SW개발 > Database' 카테고리의 다른 글
ubuntu 14.04 / MySQL 설치 (0) | 2018.05.01 |
---|---|
듀얼부팅 환경 (윈도우 , 우분투) MariaDB 공유 (0) | 2018.04.29 |
MySQL 8 VS MariaDB 10.2 / 3천만 대량 Row Restore 작업후기 (0) | 2018.04.26 |
폴더내 SQL 파일 CREATE/DROP 부분 모두 제외하기 (자바) (0) | 2018.04.25 |
특정 폴더의 SQL 모두 Restore 하는 배치 파일 만들기(자바) (0) | 2018.04.24 |