我有一个用于餐厅的mongo db集合。 例如 {_id:uniquemongoid, 排名:3, 城市: '柏林' }mongodb的索引
餐厅是由城市上市,并下令按职级(整数) - 我应该在城市排名上创建索引,或城市/等级组合? (我按城市查询并按排名排序)
此外,还有几个布尔值域, {hasParking:true,familyFriendly:true} - 我应该创建索引来加速查询这些过滤器吗?复合指数?对我而言,我不清楚是否应该创建复合索引,因为查询只能有一个布尔集或更多的布尔值集。
这一切都取决于你有多少数据和你的查询是什么。 – Thilo
请注意,您可以使用光标的['explain()'方法](http://docs.mongodb.org/manual/reference/method/cursor.explain/)来检查用于完成查询的索引。因此,当您不确定给定索引是否有助于特定查询时,您可以尝试一下并检查。 – Philipp
我的同事就此进行了一次演讲:http://www.youtube.com/watch?v = AVNjqgf7zNw他使用mysql作为示例,但适用相同的原则。也许它会帮助你设计你的索引。 – leif