내 파일의 형식은 다음 구문 분석 된 파일에서 데이터를로드하는 방법 대부분의 효율적인은 :MySQL은,
이Table1; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
\n
Table2; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
\n
Table3; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
TABLEX 헤더 후 다음 줄에서 시작하여 빈 줄 구분 기호로 끝나는 기록의 각 배치에 대한 것입니다 700-800 선 크기.
라인 (rec_xyz
...) 각각 같은 일괄 배치의 헤더에 표시된 관련 의 MyISAM 테이블 이름으로 가져와야 (TableX
)
나는 파이프 라인에 대한 옵션을 잘 알고 쉘 명령을 사용하여 LOAD DATA 명령으로 스트리밍하십시오.
이 파일을 구문 분석하고 매번 레코드의 일괄 처리에 대해 LOAD DATA를 실행하는 간단한 Java 스 니펫 코드에 관심이 있습니다 (for 루프 및 seek 명령 사용).
지금은 IGNORE LINES를 사용하여 처리 된 레코드를 건너 뛰지 만, 아래 줄을 무시하는 옵션이있는 경우 익숙하지 않습니다.
이 유형의 파일을 구문 분석하고 DB에로드하는 데 더 효율적인 방법이 있습니까? 내가 JDBC는 5.1.3부터 LOAD DATA
에 입력 스트림을 지원 읽고
편집, 내가 입력 스트림을 사용하여 파일을 반복하고 LOAD DATA
문 각 시간을 변경하는 데 사용할 수 있습니다?
로 BoneCP를 사용하고 사용자가 검색 및 다른'로드 DATA' 명령에 추가 할 각 테이블에 대해 대체 할 수 있습니까? – Kermit