【问题标题】:Index Vs Query Criteria索引与查询条件
【发布时间】:2014-01-31 00:01:32
【问题描述】:

我是 MongoDB 的新手。我读过索引限制了我们查询某些数据时要扫描的文档。 参考:-http://docs.mongodb.org/manual/core/indexes-introduction 我将它与查询标准混淆了,因为它限制了数据。 例如:-db.users.find({score:{"$lt":30}}). 在手册中,这个例子是在索引的意义上给出和解释的。什么是索引,它们与查询条件有何不同? 谢谢

【问题讨论】:

标签: mongodb


【解决方案1】:

MongoDB 中的索引与关系数据库中的索引相似,但并不完全相同。因此,要获得基本感觉,您可以想到这两个。查询条件定义了您的查询感兴趣的文档子集。索引可能能够使用查询条件来更快地回答查询。

假设您有一个没有索引的集合,并且您执行 db.users.find({score:{$lt:30}})。如果没有索引,您将需要扫描整个集合来回答查询,处理所有文档而不管它们的价值。使用 'score' 上的索引,查询将能够使用该索引仅向下钻取与您的查询匹配的文档,从而更快地执行。

【讨论】:

    【解决方案2】:

    查询条件限制了从服务器发送到客户端的数据,但它必须扫描每个文档以进行匹配。另一方面,索引通过具有特殊的数据结构(mongodb 中的 B-tree)来限制文档的扫描。 参考:-http://docs.mongodb.org/manual/core/indexes-introduction

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2017-04-01
      • 2018-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多