专栏首页日常笔记Mongodb 查询优化

Mongodb 查询优化

A good writeup of how your index should be created is available in Optimizing MongoDB Compound Indexes. Let's take the main point of the article, where the compound index ordering should be equality --> sort --> range:

Your query "shape" is:

db.collection.find({category:..., _id: {$gt:...}})
             .sort({sticky:-1, lastPostAt:-1, _id:1})
             .limit(25)

We see that:

  • category:... is equality
  • sticky:-1, lastPostAt:-1, _id:1 is sort
  • _id: {$gt:...} is range

So the compound index you need is:

{category:1, sticky:-1, lastPostAt:-1, _id:1}

原文链接:https://stackoverflow.com/questions/48739615/mongodb-index-not-being-used-when-sorting-and-limiting-on-ranged-query

我来说两句

0 条评论
登录 后参与评论

相关文章

  • FastThreadLocal

    Netty 作为高性能框架,对 JDK 中的很多类都进行了封装了和优化,例如 Thread 类,Netty 使用了 FastThreadLocalRunnabl...

    乐事
  • Elasticsearch 设计模式

    乐事
  • @NotNull注解引出的关于Java空指针的控制

    1)在已经的String(字符串)调用 equal()和 equalsingnoreCase()而不是未知的对象

    乐事
  • 面试题40(关于运算符的优先级以及字符串的拼接的理解)

    下面这三条语句? ---- System.out.println(“is ”+ 100 + 5); System.out.println(100 + 5 +“...

    Java学习
  • PHP数组is_*()对比和解析

    如is_null,is_object,is_array,is_string,is_resource,is_bool,is_long,is_float 今天补充一...

    php007
  • Python的is None vs ==None

    想要弄清楚is None和==None的区别,首先要清楚==和is的区别。==和is的区别如下:

    Tyan
  • bug诞生记——无调用关系的代码导致死锁

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    方亮
  • Redis源码解析——有序整数集

            有序整数集是Redis源码中一个以大尾(big endian)形式存储,由小到大排列且无重复的整型集合。它存储的类型包括16位、32位和64位的...

    方亮
  • torch.nn.SyncBatchNorm

    torch.nn.SyncBatchNorm(num_features, eps=1e-05, momentum=0.1, affine=True, track...

    于小勇
  • 查看CPU信息小脚本

    echo "                  the `hostname` cpuinfo                       "

    三杯水Plus

扫码关注云+社区

领取腾讯云代金券