美文网首页
优化mongodb查询性能

优化mongodb查询性能

作者: 刘蕴唐 | 来源:发表于2015-10-16 15:33 被阅读0次

    原文路径

    https://docs.mongodb.org/manual/tutorial/optimize-query-performance-with-indexes-and-projections/

    创建支持查询的索引

    索引可以极大的提升查询速度,对于搜索多个字段的查询,可以使用复合索引。索引支持查询、更新、聚合管道的某些步骤。mongodb的可以从升序、降序读取索引,因此单键索引的顺序并无所谓。如果被索引的数据是以下类型,那么它们可能更加高效的存储在索引中

    • 二进制子类型,值在0-7或者128-135并且
    • 字节数组的大小为:0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,32

    限制查询结果的数量,减少网络负载

    使用limit()

    使用投影(projection)只返回必要的字段

    使用$hint来选择特定的索引

    虽然查询优化器会自动选择最合适的索引,然而可以使用hit()强制使用某个索引。

    使用修改更新器(update modifier) 来执行服务器端的操作

    这样可以避免每次更新按照下面流程:

    1. 选择获取文档
    2. 在客户端进行简单修改
    3. 将整个文档写入服务器。

    修改更新器简单介绍

    修改更新器包括以下:

    • $inc 增加字段的值,格式为
    { $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }
    
    • $mul 乘除法
    • $rename 重命名
    • $setOnInSert 如果该更新操作插入了一个文档,那么设置字段的值
    • $set 设置字段的值
    • $unset 删除某个字段
    • $min 只在指定的值小于当前值时更新该字段
    • $max 和$min相反
    • $currentDate 设置字段的值为当前时间

    相关文章

      网友评论

          本文标题:优化mongodb查询性能

          本文链接:https://www.haomeiwen.com/subject/hehacttx.html