5 ms·
Optimizing MongoDB Compound Indexes
- MartinMond 14y agoIs MongoDB actually able to combine 2 or more indices?
- jiryu 14y agoNo - 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.
- MartinMond 14y agoYes 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.
- chmod775 14y agoNope, you can use the compound index 'a,b,c' to query over the following fields: a a.b a,b,c The manual actually explains it like that.
- mattparlane 14y agoYou may be interested in this: https://jira.mongodb.org/browse/SERVER-3071 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.
- dkhenry 14y agoWhat 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.
- lucian1900 14y agoYou 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.
- mattparlane 14y agoexplain actually runs the query. From http://www.mongodb.org/display/DOCS/Explain 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.
- pbrumm 14y agoThere is a config setting for that notablescan = true http://docs.mongodb.org/manual/reference/configuration-options/ http://docs.mongodb.org/manual/reference/configuration-optio...
- dkhenry 14y agoRight 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.
- Loic 14y agoAbout 2 years ago (time is flying) I explained how I did the same to support range queries over "n" attributes, the method ended up being in the book "MongoDB, the Definitive Guide" by Chodorow and Dirolf (O'Reilly): http://chemeo.com/doc/technology http://chemeo.com/doc/technology (Search for "Indexing For High Speed Search" to skip non MongoDB related information).