IT/Database
[mongodb] 복합 index
DreamKiHyun
2015. 1. 2. 20:08
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()
위의 인덱스를 사용하더라~~~
데이터 양이 많아지면 인덱의 용량이 상당히 부담스러워진다...
메모리에 도큐먼트와 인덱스가 최대한 많이 올라갈 수 있도록
인덱스의 양을 최대한 줄여주자...