我们如何在MongoDB上创建索引?

Cha*_*dar 6 indexing mongodb

我想在Mongo数据库上创建索引以提高性能,请您能帮助我该怎么做?

您的帮助将在这里得到赞赏。

cra*_*eld 9

基本语法是:

db.collection.createIndex(keys, options)

因此,例如:

$ db.users.createIndex({"username" : 1})

有关完整详细信息,请参阅MongoDB 索引


Ati*_*ish 9

在mongodb集合中应用索引之前,您需要了解索引的以下方面:

索引策略:

  • 检查您的应用程序是否将其发送到mongodb的查询类型。
  • 列出所有此类可能的查询。
  • 根据操作数,操作类型定义索引类型
  • 选择适合应用程序需求的正确索引类型。类型可以是单索引,复合索引,部分索引,TTL索引等
  • 您的查询是否涉及排序操作?请按照本指南为sort操作建立索引
  • 有关索引策略的更详细指南,请参见此处

测试您的索引:

  • 有了要应用的索引列表后,请使用explain测试索引性能。
  • 在数据库上生成一个示例应用程序调用,并启用探查器(在dev或stag中)以检查索引的性能。

如何编制索引:

  • 在后台创建索引。这将确保创建索引操作不会阻止其他操作。
  • 根据您的数据大小,如果要在大型集合上创建索引,请考虑在低流量时间内进行。或在计划的维护窗口中
  • 您可能需要考虑在某些用例中构建滚动索引,以最大程度地减少索引的影响。

跟踪创建的索引:

  • 记录您的索引。这可能包括您创建这些索引的时间,原因等等。

衡量生产中的索引使用情况统计信息:

  • 一旦您已经应用在生产这些指标,在两个星期检查使用的STA的索引,以检查是否真正被使用他们
  • 如果根本不使用索引,请考虑删除这些索引。

警告:

  • 索引增加了写操作的性能损失。设计和应用对您的应用程序必不可少的索引。