我试图通过Mongo的文档进行搜索,但不能真正找到查询的唯一索引是否会比对查询,非唯一索引速度更快的任何细节(给予相同的数据)
所以,据我所知,唯一索引将有高选择性和良好的性能。 但是,由于两个字段,其串联是独一无二的,将非唯一的复合索引比一个独特的复合索引执行慢?
我假设唯一索引可以减缓刀片,独特性,必须进行验证。 但是是唯一索引的读取性能的提高,如果有的话,真的值得吗?
我试图通过Mongo的文档进行搜索,但不能真正找到查询的唯一索引是否会比对查询,非唯一索引速度更快的任何细节(给予相同的数据)
所以,据我所知,唯一索引将有高选择性和良好的性能。 但是,由于两个字段,其串联是独一无二的,将非唯一的复合索引比一个独特的复合索引执行慢?
我假设唯一索引可以减缓刀片,独特性,必须进行验证。 但是是唯一索引的读取性能的提高,如果有的话,真的值得吗?
源代码树的快速的grep似乎表明,唯一索引只在插入使用,所以不应该是返回一个文件,该指数是唯一与否查询之间的任何性能优势或损害。
MongoDB的索引被实现为B树,所以它不会作出任何逻辑上对他们进行任何不同的索引是否唯一与否。
我做了这个话题我自己的小研究。 我产生500000条记录(随机生成的字符串)集合中,并试图一对夫妇的查询与解释()语句。
然后,我保证一个唯一索引,并且再次尝试一些其他的疑问:
正如你所看到的,添加索引后的时间消耗从〜276ms降低为0ms! 因此,它似乎是,即使指数是独一无二的,它会影响(以积极的方式)查找查询。