对于MongoDB中的喜欢EnsureIndex
那么,我正在创build一个networking,允许用户创buildpost和喜欢他们。
问在stackoverflow我已经了解如何构build我的数据库:
包含每个post的文档的集合。 一个包含每个文件的集合,在每个文件中都有一个对引用的引用被引用。
当我想获得所有喜欢的职位,我可以查询类似的集合寻找该职位的参考。
直到这里我没事。 但假设我会有数百万像collections文件,我想知道如何查询和search他们中不太长的时间。
我被告知ensureIndex,在这种情况下,我必须确保包含对post的引用的字段的索引。
但是,我什么时候需要创build这个索引? 是足够的一次创build它(例如,当我设置我的数据库),它将作为默认的mongodb或我必须在应用程序的生命期间呢? 谢谢
但假设我会有数百万像collections文件,我想知道如何查询和search他们中不太长的时间。
我想你很可能想要指望喜欢作为例子?
你不能,而是使用优化来解决这个问题。 数百万行计数可能会有点慢。
一个典型的场景是SQL技术中的计数器,您可以使用子数的总和来修改父行。
同样适用于MongoDB。
您会将重要数据汇总到顶端。
如果你需要实际查询喜欢,以显示一些谁喜欢它,那么你限制这些喜欢。 Google+和其他networking往往会将喜欢的数量限制在1,000个左右。
我被告知ensureIndex,
将索引添加到数据库确实有助于实际search文档。
但是,我什么时候需要创build这个索引? 足以创build一次
是的,MongoDB将pipe理索引本身。 你只需要确保一次。