MongoDB小结23 - 索引简介

来源:互联网 发布:淘宝买家删除差评链接 编辑:程序博客网 时间:2024/04/28 12:30

MongoDB中的索引,可以看作是书的目录。 想象一下给你一本没有目录的书,然后让你去查询指定内容,我只想说,我不是电脑,我很蛋疼! 让你翻没有目录的书,就跟让电脑查询没有索引的集合一样,从头查询到尾,毫无头绪,我们称这种行为是“表扫描”

索引简介

通常我们要查询一个user的名字,我们是这样的

db.user.find({"username":"codingwhy"})

如果我们经常需要对username进行查询,那么我们可以为它建立索引

db.user.ensureIndex({"username":1})

对于同一个集合,索引只需要创建一次,反复创建是徒劳的。

对某个键创建索引会加速对某个键的查询,然而,对于其他键可能没有帮助,即便是查询包含了该索引的键。

总是让电脑进行“毫无头绪”的表扫描也是挺折磨电脑的。 所幸MongoDB也不笨,它会在每次查询后,重排查询项的顺序,自己建立索引。 比如在进行这个查询时,{"x":"foo","y":"bar"},就已经有了 {"x":1,"y":1} 索引了。 每个集合的默认最大索引数是64个。




0 0