使用索引改进独特的查询性能

时间:2016-04-01 20:47:02

标签: mongodb query-performance mongodb-indexes

集合中的文档遵循以下给出的模式 -

{
  "Year": String,
  "Month": String
}

我想完成以下任务 -

  1. 我想运行distinct个问题,比如

    db.col.distinct('Month', {Year: '2016'})
    

    我在{'Year': 1, 'Month': 1}上有一个复合索引,所以 直觉看起来像答案可以通过观察来计算 只有指数。数百万的集合上的查询性能是 现在真的很穷有什么方法可以做到这一点吗?

  2. 我想查找给定month的最新year。一种方法是对上述distinct查询的结果进行排序,并将第一个元素作为答案。 正如@ Blakes Seven在下面的讨论中指出的更好,更快的解决方案是使用查询db.col.find({ "Year": "2016"}).sort({ "Year": -1, "Month": -1 }).limit(1)

0 个答案:

没有答案