Live data from Hacker News

Optimizing MongoDB Compound Indexes

emptysquare.net

1–10 of 12 posts

Re: Optimizing MongoDB Compound Indexes

#4
post #3

Is MongoDB actually able to combine 2 or more indices?

No - it can only use one for a given query. But a compound index like the ones I describe in the post can index many fields.

Yes of course, but it's kinda slow if you have to maintain one compound index for each possible query you're going to run, that's why I was asking.

Re: Optimizing MongoDB Compound Indexes

#5

Is MongoDB actually able to combine 2 or more indices?

You may be interested in this:

https://jira.mongodb.org/browse/SERVER-3071

It's index intersection, and it's scheduled for 2.3.1 which is the next next dev release. I'm hoping it makes it in for 2.4.

Re: Optimizing MongoDB Compound Indexes

#6
What should be added to this is the ability to tell Mongo to return an error if your query requires a table scan. That one configuration item can be the difference between a request returning an error and a whole site going down for an extended period.

Re: Optimizing MongoDB Compound Indexes

#7
post #6

What should be added to this is the ability to tell Mongo to return an error if your query requires a table scan. That one configuration item can be the difference between a request returning an error and a whole site going down for an extended period.

You can ask it to explain what it did, just like you'd ask for the last error. Then in your app enforce whatever rules related to indexes you wish.

Re: Optimizing MongoDB Compound Indexes

#8
post #6

What should be added to this is the ability to tell Mongo to return an error if your query requires a table scan. That one configuration item can be the difference between a request returning an error and a whole site going down for an extended period.

You can ask it to explain what it did, just like you'd ask for the last error. Then in your app enforce whatever rules related to indexes you wish.

explain actually runs the query. From http://www.mongodb.org/display/DOCS/Explain :

    Note that explain runs the actual query to determine the result. If the query is slow, the explain will be slow too.

Re: Optimizing MongoDB Compound Indexes

#9
post #6

What should be added to this is the ability to tell Mongo to return an error if your query requires a table scan. That one configuration item can be the difference between a request returning an error and a whole site going down for an extended period.

There is a config setting for that

  notablescan = true
http://docs.mongodb.org/manual/reference/configuration-optio...

Re: Optimizing MongoDB Compound Indexes

#10
post #9
post #6

What should be added to this is the ability to tell Mongo to return an error if your query requires a table scan. That one configuration item can be the difference between a request returning an error and a whole site going down for an extended period.

There is a config setting for that notablescan = true http://docs.mongodb.org/manual/reference/configuration-optio...

Right I was saying that the author should add that to his article. Its a very valuable configuration item and anytime your dealing with optimizing indexes its worth enabling.
Post reply on HN