2012-05-23 2 views

답변

2

MongoDB 서버 측에서 전체 문서는 디스크의 한 위치에 저장됩니다. MongoDB는 메모리 매핑 파일을 사용하기 때문에 모든 문서 액세스를 위해서는 전체 문서를 메모리에로드해야합니다. 쿼리가 실행 된 후에는 요청 된 필드 만 클라이언트로 전송됩니다. 이것은 클라이언트/드라이버 측에서 요청 된 필드 만 전체 문서가 아닌 메모리에 저장된다는 것을 의미합니다.

+0

ok ... 그래서 우리가 필드의 부분 집합을 요구하더라도 ... 서버 측 전체 문서가 검색 될 것이므로 서버로드가 증가합니다 ... 그렇습니까? – Ashish

+0

문서가 "검색된"것은 아닙니다. 그것은 단지 데이터 파일의 특정 위치에 저장되고 색인을 통해 발견됩니다. 그리고 대부분의 문서가 <4kb이기 때문에 "일부 필드"와 "모든 필드"사이의 서버로드가 거의 증가하지 않을 것입니다. OS가 MongoDB를 위해 디스크에서 읽는 블록은 4kb이기도하다 (메모리 매핑 된 파일이 작동하는 방식이다) – Derick

+0

좋아 .. 고마워 .. – Ashish

관련 문제