2009-11-19 5 views
2

을 위해 오래 걸립니다 나는 다음과 같은 설정이 있습니다MongoDB를 색인

  • 맥 (예, 아니 그 정도) RAM 2GB의
  • MongoDB를 1.1.3 64 비트
  • 800 만 항목이 프로 하나의 컬렉션
  • 는 하나 개의 필드 (정수)에 대한 지수는

실제로 내가 후 과정을 살해, .ensureIndex(...) 한 시간 이상 소요 호출 원 그. 내 인상은 너무 오래 걸린다는 것이다. 또한 프로세스를 종료했지만 이후 인덱스는 .getIndexes()으로 볼 수 있습니다.

여기서 무엇이 잘못 될지 아는 사람이 있습니까?

답변

2

전체 데이터 트리를 구성해야하므로 기존 데이터 세트에 인덱스를 추가하는 데 시간이 걸릴 것으로 예상됩니다. 비합리적인 시간이 걸릴 것으로 생각되거나 실적이 악화 되었다면 가장 좋은 방법은 the list입니다.

0

난 그냥 명령을 지적하고 싶습니다

또한 서버에서 실행중인 현재 작업을 인쇄하고,
db.currentOp() 

는 인덱싱 프로세스를 보여줍니다.

포어 그라운드 인덱싱은 3 단계로 이루어지며 백그라운드 배경은 2 단계로 진행됩니다 (정확하게 기억한다면).하지만 배경은 느리게 진행됩니다. 포어 그라운드는 다른 한편으로는 색인을 생성하는 동안 컬렉션을 잠급니다 (즉, 실행중인 응용 프로그램 서버에서는 그리 유용하지 않습니다).

이전에 말씀 드렸듯이 Google의 작동 방식에 관심이 있으시면 BTree에 문의하십시오.

아무도 잘 모릅니다.

ssh를 통해 실행 중이거나 원격으로 어떤 방식으로 연결하고 있습니까? 깨진 파이프 문제처럼 들리 네요. {background : true}로 색인을 만들었나요?