更新时间:2022-06-21 GMT+08:00

查询命令

需要通过分析执行过程(查询计划)进行检查并优化,以避免慢查询。

db.collection.find().explain()

请参见性能相关,更多详细内容请参见官方文档

注意事项

  • 查询的结果,返回的是一个Currsor。Cursor使用完毕后要及时关闭,否则会产生内存堆积。
  • 根据查询条件创建必要的索引,索引设计请参见索引设计规范
    • 避免COLLSCAN全表扫描。
    • 查询条件和索引字段匹配有顺序性。
  • 对于集群实例,根据业务对表进行合理地分片,分片设计请参见分片设计规范
  • 对于分片表,查询条件要基于shardKey进行,避免出现scatter-gather等不必要的查询。详情请参见Distributed Queries
  • 查询可以指定readConcern级别,详情请参见Read Concern
  • 查询可以指定readPerference参数,详情请参见Read Preference