数据库分表解决方案

方法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亿条用户记录

你可能感兴趣的:(数据库分表解决方案)