MongoDB 컬렉션을 삭제하는 것에서 모든 문서를 삭제할 때의 트레이드 오프는 무엇입니까? (컬렉션이 즉시 다시 생성된다고 가정 할 때)?MongoDB : 컬렉션 삭제 중 트레이드 오프와 모든 문서 제거
답변
컬렉션에서 모든 문서를 제거하면 더 많은 작업을 수행 할 수 있습니다 (문서의 저장 공간 확보, 문서를 가리키는 색인 항목 지우기 등). 대신 컬렉션을 삭제하면 컬렉션 및 해당 인덱스에서 사용하는 범위 만 다시 계산됩니다.
다른 점은 컬렉션을 삭제하면 컬렉션의 인덱스도 삭제된다는 것입니다.
단순히 컬렉션을 삭제하는 것의 이점은 컬렉션의 모든 문서를 제거하는 것보다 훨씬 빠릅니다. 어쨌든 (인덱스 재 작성을 포함한다고 가정 할 때) 컬렉션이 "즉시 다시 생성"될 경우 이는 아마도 가장 매력적인 옵션 일 것입니다. 책 MongoDB: The Definitive Guide의
저자 (크리스티나 초도 로우와 마이클 디 롤프는) 그들이 대 remove
1000000의 기록 drop
을 초과 파이썬 스크립트를 제공하는 실험을 달렸다. 결과는 drop
의 경우 0.01 초, remove
의 경우 46.08 초입니다. 정확한 시간은 하드웨어 및 기타 요소에 따라 다를 수 있지만 그럼에도 불구하고 drop
이 훨씬 더 빠릅니다.
참조 번호 : Chodorow K., Dirolf M. (2010). "MongoDB : The Definitive Guide."O'Reilly Media, Inc. Sebastapol, CA, pp.25
컬렉션 제거 및 삭제는 대부분 구현 세부 사항입니다.
을 제거하려면 컬렉션에 내부 상태이 하나씩 업데이트되어 이 필요합니다.
컬렉션을 수집하려면 큰 데이터 구조이 데이터 파일의 데이터베이스 내에 있어야합니다.
컬렉션을 비우는 것은 컬렉션이 비어있을 때까지 하나씩 제거하는 것보다 훨씬 빠릅니다. 인덱스와 같은
메타 데이터 것이다 컬렉션이 제거 될 경우 오히려 그 떨어졌다 때보다 존재한다.
출처 : MongDB 대학 과정
- 1. mongodb, 모든 문서를 컬렉션
- 2. MongoDB - 문서 삭제 문제
- 3. MongoDB 필터링 복제 컬렉션
- 4. MongoDB 하위 문서에서 하위 문서 제거
- 5. 모자이크 컬렉션 mongodb
- 6. Perl mongodb 기록 질문을 제거
- 7. MongoDB/Mongoid, 문서 버전 제거하기
- 8. 모든 포함 된 문서 제거
- 9. VBA 컬렉션 모음 삭제
- 10. MongoDB 내 문서 비교
- 11. 배포 프로젝트 제거 - 파일 삭제 중?
- 12. MongoDb 출연 하위 컬렉션
- 13. mongodb - system.users 컬렉션 남용?
- 14. MongoDB - 많은 수의 문서
- 15. Java Spring MongoDB 삭제
- 16. MongoDB 컬렉션 (Ruby)에 로그인
- 17. 컬렉션에서 특정 문서 삭제
- 18. MongoDB : 쿼리 결과 크기가 컬렉션 크기보다 크다
- 19. Node.js의 Mongodb 컬렉션 객체 캐싱
- 20. MongoDB 임베디드 문서
- 21. Mongodb - 부분적인 문서 번호
- 22. Mongodb-dataneucleus의 문서 업데이트
- 23. 컨트롤 컬렉션 제거
- 24. 컬렉션 삭제 방법은 무엇입니까?
- 25. 모델 및 컬렉션 삭제
- 26. ObjectID별로 MongoDB 컬렉션 가져 오기
- 27. mongoDB 컬렉션 LRU 정책 + java
- 28. Moped : mongodb 컬렉션 이름 바꾸기
- 29. MongoDB 샤딩의 컬렉션 이름 바꾸기
- 30. 블로거에서 게시물 제목 삭제/제거 (모든 블로그에서!)?
대답에 +1 만, 삭제 대 드롭 하나주의해야 할 점, 그리고 당신이 분산됩니다 환경에있을 때 즉는 재사용에 관련된 다양한 버전에 비해 몇 가지 버그가 있었다 콜렉션 명 (또는 어떤 경우에는 접두사)을 삭제했습니다. 내가 아는 최신 관련 버그는 다음과 같습니다. https://jira.mongodb.org/browse/SERVER-4262 2.2에서 수정되었습니다. 방울/재 설계를 많이 계획하고 있다면 잘 알고 있어야합니다. . –
팁 주셔서 감사합니다, @ AdamC! 나는이 시나리오가 혼합에서 샤딩/복제와 약간 까다로울 것이라고 생각한다. 집에서 실험실에 마스터/슬레이브 복제 구성을 설정해야합니다. – Aaron