Mongoid order_by和find_by查询需要哪个索引?

时间:2015-08-31 21:08:28

标签: mongodb indexing mongoid

要查找最近创建的名为“Jeff”的用户,

User.order_by(created_at: :desc)
    .find_by(name: "Jeff")

应为此查询创建哪些索引?它是created_atname上的2个索引吗?

或两者都是复合指数?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您必须在两者上使用复合索引才能覆盖查询。

有时可以使用Index Intersection来使用多个索引来完成查询,但其中一个限制是

  

当sort()操作要求索引与查询谓词完全分离时,索引交集不适用。

此查询就是这种情况。