一线大厂面试真题-将user表进行了分库分表,那么手机号的唯一索引是不是就失效了

目录

概述

问题分析

问题解答


概述

比如我们的user表设置了手机号的唯一索引,假如用户量太大了,将user表进行了分库分表,那么手号的唯一索引是不是就失效了,这种情况要怎么解决呢:

题分析

我们先来分析这个问题。

首先,面试官问这个问题背后的潜在业务逻辑是,当有新用户注册的时候,或者用户在换绑手机号的时候。

需要判断这个手机号是否已经被其他用户绑定过了,如果在单个表里面,直接使用唯一约束就可以解决。

是在分表以后,这种唯一性不好判断了,因此让我们想想解决办法。

问题解答

1.   分表后,如何知道这个手机号已经绑定了其他账号?

2.   手机号如果作为唯一索引,一旦手机号发生变更,将会应发B+树的大量索引更新,对性能影响较大。

,手机号只能是普通索引。

对于查询某个手机号是否存在,可以在数据库上层加一层布隆过滤器,提高效率。

时为了提高准确性,可以通过号码号段,不同号段使用不同的布隆过滤器。在插入数据库的同时放入布隆过滤器中。如果布隆过滤器中检测不存在,则肯定不存在。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值