색인 생성이있는 위치 수집이 있습니다 timestamp_1, timestamp_2 and user_id
필드. 쿼리를 실행할 때 (다음 로그에서 볼 수 있음) 쿼리가 ~ 3 분 (175670ms) 걸립니다. 나는 왜 그런 일이 일어나는지 알지 못한다 !! 다음 MongoDB-Log를 첨부했습니다.
아무도 나에게 다음 로그를 설명 할 수 있고 어떻게 그것을 최적화 할 수 있습니까 ??설명 MongoDB 로그 출력
2017-04-12T17 : 04 : 33.759 + 0000 I COMMAND [conn167] 쿼리 위치 쿼리 모음 : {ORDERBY : {timestamp_1 : 1}, $ 쿼리 : { $와 : [{timestamp_1 : {$의 LTE : 1492016294486.0}}, {timestamp_2 { $ GTE : 1491993563400.0}}, {USER_ID "jkfjlsjfflki-14asddsd"}]}} planSummary : IXSCAN {USER_ID 1} IXSCAN {USER_ID : 1} ntoreturn : 1000 ntoskip : 0 keysExamined : 27254 docsExamined : 27254 hasSortStage : 1 cursorExhausted : 1 keyUpdates : 0 writeConflicts : 0 numYields : 3350 nreturned : 67 reslen : 176574 locks : {글로벌 : { acquireCount : {r : 6702}}, 데이터베이스 : {acquireCount : {r : 3351}} 컬렉션 : {acquireCount : {R : 3351}}} 175670ms
하나 더 질문 : 나는 그래서 "_id"필드에 어떤 단점이 방법으로 내 자신의 가치를 창출하고있다 ?? 난 그냥 문자열 값을 생성하고 아무 문제없이 mongoDb 인덱스를 기대하고있다.
2017-04-12T17 : 04 : 41.979 + 0000 I [conn150] 쿼리 db.users 쿼리 COMMAND : {ORDERBY : {_id : 1}, $ 쿼리 : {_id : "USR-dfhsddf- 14905426shfkjdhf "}} planSummary : iDHACK ntoreturn 1 ntoskip : 0 keysExamined 1 docsExamined 1 idhack : 1 cursorExhausted 1 keyUpdates : 0 writeConflicts : 0 numYields : 0 nreturned 1 reslen : 1,291 자물쇠 {전역을 {acquireCount {R : 2}} 데이터베이스 : {acquireCount : {R : 1}} 컬렉션 : {acquireCount : {r은 1}}} 2627ms
미리 감사드립니다 !!