13.22K 浏览2021/11/15其他 0 txyh22 2021/11/12 0条评论 有两个关于索引的小问题 为什么hash索引上无法创建唯一索引,实现大概是怎么样的呢 为什么mongo4.4后组合索引里只能支持一个hash索引,两个会怎么样 xiaoxu 已回答的问题 2021/11/15 1 答案 活跃已投票最新最老的 0 xiaoxu1.13K 发布 2021/11/15 1 条评论 1、字段进行hash后的值是有限制的,有64bit来存储,存在上限,所以存在重复的可行性,所有hash索引无法创建唯一索引 2、组合索引只支持单列是hash的,创建2个列都是hash,直接报错。不支持。 txyh 发表新评论 2021/11/30 txyh 已评论 2021/11/29 哦哦 不过64bit的范围感觉很大,一般很难达到,其次就是即使重复了,产生了hash冲突,也能通过拉链法来检查是否唯一,是否还有什么其他致命原因使得hash索引就是不能做唯一索引 还有就是为什么不支持多字段的hash索引,是没价值吗? 注册 或 登录
哦哦 不过64bit的范围感觉很大,一般很难达到,其次就是即使重复了,产生了hash冲突,也能通过拉链法来检查是否唯一,是否还有什么其他致命原因使得hash索引就是不能做唯一索引
还有就是为什么不支持多字段的hash索引,是没价值吗?