首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB中唯一索引的优势

问MongoDB中唯一索引的优势
EN

Stack Overflow用户
提问于 2012-09-10 19:36:16
回答 2查看 4.2K关注 0票数 11

我试着搜索Mongo文档,但没有找到任何关于唯一索引的查询速度是否比非唯一索引的查询快的细节(给定相同的数据)

因此,我知道一个独特的索引将具有高选择性和良好的性能。但是,如果给定两个连接是唯一的字段,那么非唯一复合索引的执行速度会比唯一复合索引慢吗?

我假设唯一索引可以减慢插入速度,因为唯一性必须得到验证。但是,唯一索引的读取性能改进是否真的值得呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-10 19:51:18

源树的快速grep似乎表明唯一索引只在insert上使用,因此在返回一个文档的查询之间不应该有任何性能上的好处或坏处,无论索引是唯一的还是不唯一的。

MongoDB索引是以btrees的形式实现的,因此无论索引是唯一的还是不唯一的,它们的执行方式都没有任何逻辑意义。

票数 19
EN

Stack Overflow用户

发布于 2013-11-25 21:08:07

我在这个主题上做了自己的小研究。我在一个集合中生成了500,000条记录(随机生成的字符串),并使用explain()语句尝试了几个查询。

​

然后我确保了一个唯一的索引,并再次尝试了几个其他查询:

​

如您所见,添加索引后,时间消耗从~276ms减少到0ms!因此,即使索引是唯一的,它似乎也会(以积极的方式)影响find查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12350879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档