如何为多列范围查询建立复合索引
我想对多列进行范围查询。例如:
db.dmnscore.find({price:{$lte:10}, "updated" : {"$gte" : new 日期(1304874799000)},“分数”:{“$gte”:0,“$lte”: 1000}).sort({分数:-1}) 是否可以为该查询创建合适的复合索引?
谢谢
I want to make a range query on multiple columns. for example:
db.dmnscore.find({price:{$lte:10}, "updated" : {"$gte" : new
Date(1304874799000)} ,"score" : {"$gte" : 0,"$lte" :
1000}).sort({score:-1})
Is it possible to make a proper compound index for this query?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最简单的就是自己测试一下。在属性上创建索引,然后运行此查询:
注意末尾的
explain()
。如果结果包含Btree
则表示没问题,如果结果包含BasicCursor
则说明尚未使用索引。The easiest thing is to test it yourself. Create an index on the properties, then run this query:
notice the
explain()
on the end. If the result containsBtree
you're good, if the result containsBasicCursor
it hasn't used the index.