MongoDB中唯一索引的优势

Zai*_*sud 11 unique-index mongodb mongodb-indexes

我试图搜索Mongo文档,但是无法真正找到有关唯一索引的查询是否比非唯一索引上的查询更快的详细信息(给定相同的数据)

所以我理解一个独特的指数将具有高选择性和良好的性能.但是,如果两个字段的串联是唯一的,那么非唯一复合索引的执行速度是否比唯一复合索引慢?

我假设唯一索引可以减慢插入速度,因为必须验证唯一性.但是,如果有的话,读取性能改进的独特指标真的值得吗?

Chr*_*ald 18

源树的快速grep似乎表明唯一索引仅用于插入,因此返回一个文档的查询,索引是否唯一之间不应有任何性能优势或损害.

MongoDB索引是作为btree实现的,因此无论索引是否唯一,对它们执行任何不同的操作都没有任何逻辑意义.

  • 谢谢,虽然我在扫描唯一索引btree时可以想到的一个区别是你可以在找到第一个匹配后停止扫描..所以在这种情况下,它可能会"逻辑意义"执行(稍微)更快?我还注意到,当你说"返回一个文档"时,你暗示在查询中指定了limit(1),在这种情况下使用这个逻辑没有区别. (6认同)