2012-08-09 2 views
0

나는 대략 400k 데이터를 가지고 있고 더 많은 (SQL 형식으로) 그리고 그것을 mysql 데이터베이스에 삽입하려고한다. 더 나은 성능을 가지고있는 한, 데이터 삽입하기 위해 SQL 파일의 SQL 명령을 쓰기 :많은 데이터를 위해 MySQL INSERT INTO 명령을 작성하는 것이 좋습니다.

  1. 반복 테이블에 400K

    INSERT (COL1, COL2, coln) 가치까지 각 데이터에 대한이 명령 (val1, val2, valn); 다음

  2. 쓰기 INSERT의 처음 명령은 다음 VALUE 문에 테이블에

    INSERT (COL1, COL2, coln) 가치 (VAL1, val2만큼, VALN), (VAL1, val2만큼, VALN을 400K 데이터를 기록), (VAL1, val2만큼, VALN), ..... 400K 데이터

    까지
  3. 반복이 명령,하지만 어쩌면 각 100 개 데이터

    INSERT 테이블에 (COL1, COL2에 2 번처럼 coln) VALUES (val1, val2, valn), (val1, val2, valn), (val1, val2, valn) ..... [100 데이터까지]
    INSERT VALUES (val1, val2, valn), (val1, val2, valn), (val1, val2, valn) ..... [다음 100 데이터까지]

  4. INTO 테이블 (col1, col2, coln)

    또는 다른 좋은 옵션이 있습니까?

+0

가능한 복제본 : http://stackoverflow.com/questions/1793169/which-is-faster-multiple-single-inserts-or-one-multiple-row-insert –

+0

400k 데이터가 SQL 형식이지만 이 시점에서 데이터베이스에 없습니다. 현재 무엇입니까? 텍스트 파일? 뛰어나다? –

+0

http://dev.mysql.com/doc/refman/5.1/en/load-data.html – dezso

답변

0

첫 번째 또는 두 번째 변형을 사용할 수 있으며 두 번째 변형은 더 빠를 수 있습니다. 두 번째 변형과 문 길이를 허용하는 최대 허용 패킷 크기 (MySQL 변수)를 선택한 다음 세 번째 변형 - 분할 INSERT 문을 일부 작은 문에 적용합니다.