数据库分表解决方案

方法1:使用MD5哈希

具体做法是对UID进行md5加密,然后取前几位(我们这里取前两位),然后就可以将不同的UID哈希到不同的用户表(user_xx)中了。

方法2:使用移位

public function getTable( $uid ) {
    return "user_" . sprintf("%04d", ($uid >> 20));
}

我们将UID向右移动20位,这样我们就可以把大约前100万的用户数据放在第一个表user_0000,第二个100万的用户数据放在第二个表user_0001中,这样一直下去,如果我们的用户越来越多,直接添加用户表就行了。由于我们保留的表后缀是四位,这里我们可以添加1万张用户表,即user_0000,user_0001,...... user_9999。一万张表,每张表100万数据,这样我们就可以存100亿条用户记录

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我是一个什么样的人? 一个孤单,落寞,表面清冷,内心炽热的人; 一个敏感、多情、容易受伤的人; 一个直爽、坦诚、毫...
    漫漫无忧阅读 1,423评论 7 5
  • 1、把你说的“不对”统统改成“对” 2、说谢谢的时候可以加上你,或者加上对方的名字 3、请别人帮忙时,句子末尾加上...
    王丫蛋阅读 1,679评论 0 1

友情链接更多精彩内容