name과 age 필드에 복합 인덱스를 걸었다고 가정하자..
db.users.ensureIndex({name:1, age:1}, {name:"idx_name_age_compound"})
지금까지는 이렇게 걸고나서
name에 대한 index도 따로 걸어줬었는데
알고보니 위와같이 걸면 앞에 쓴 필드인 name에 대해서는 따로 걸 필요가 없었다...
실제 explain으로 쿼리해보니...
db.users.find({name:"kkyun"}).explain()
위에서 설정한 index를 사용하더라....
그리고 다른 필드를 섞어서 사용해도...
db.users.find({name:"kkyun", age:29}).explain()
위의 인덱스를 사용하더라~~~
데이터 양이 많아지면 인덱의 용량이 상당히 부담스러워진다...
메모리에 도큐먼트와 인덱스가 최대한 많이 올라갈 수 있도록
인덱스의 양을 최대한 줄여주자...
'IT > Database' 카테고리의 다른 글
[MongoDB] 로그 파일 갱신 logRotatae (0) | 2016.08.11 |
---|---|
[mongodb] download command (0) | 2015.01.28 |
[mysql] 테이블 생성, 컬럼 수정, 삭제, 추가 (0) | 2014.12.28 |
[mysql] index 관련 명령어 (0) | 2014.12.26 |
[mongodb] 정말정말 유용한 slide (0) | 2014.12.18 |