문제

나는 MongoDB (실제로 TokumX, 무엇이든지)에 적재 해야하는 많은 수의 기록 (~ 10 억)이 있습니다.컬렉션에서 작성 해야하는 약 6 가지 인덱스가 있습니다.항상 데이터를로드하고 인덱스를 만드는 것이 더 빠릅니까?Mongo의 로그 파일을 볼 때 몽고 (Mongo)가 실제로 인덱스 생성을 실제로 시작하기 전에 몽고 (행 수가 아마도 행 수가 있음)가있는 것처럼 보이며 생성 된 모든 색인에 대해이 작업을 수행합니다.

데이터를로드 한 후에 인덱스를 만들 수있을 때는 항상 더 빠릅니까?

데이터를로드 한 후에 기다리면 동시에 백그라운드에서 각 인덱스를 생성하는 것이 더 빠를 수 있습니다.

도움이 되었습니까?

해결책

우리 가이 방식으로 우리의 데이터를 벌일 것입니다 :

  1. 삭제 인덱스
  2. 클러스터 된 인덱스가 빌드 될 순서대로 데이터로드 (즉, 정확한 방식으로 데이터를 정확한 방식으로 내보내기)
  3. 로드가 완료된 후 클러스터 된 인덱스 를 만듭니다.
  4. 다음에 추가적인 비 클러스터 된 인덱스 를 만듭니다.
  5. 밀러 시간 (이것은 내가 괜찮은 맥주를 할 수 있기 전에였습니다)

    그 방법은 항상 인덱스를 제자리에 두는 것보다 빨리 증명되었습니다.그러나 Sybase 및 SQL Server 용이었습니다.나는 다른 시스템이 비슷할 것이라고 상상하지만, 나는 확실히 말할 수 없다.

다른 팁

크고로드 작업을 수행하는 경우 Tokumx 벌크 로더를 사용하는 것이 더 빠르면 기본 키 인덱스와 보조 인덱스를 모두 작성하기 위해 데이터를 통과해야합니다.자세한 정보는 "Nofollow"> http : // docs의 문서에서 사용할 수 있습니다..tokutek.com / tokumx / tokumx-commands.html # tokumx-new-commands-loader

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top