MySQL怎么实现abs mysql怎么实现高可用( 三 )


一般在有严格的自增id需求上,如按照user_id水平分表:
table_1user_id从1~100w
table_2user_id从101~200w
table_3user_id从201~300w
...
3.hash分表
通过一个原始目标的ID或者名称通过一定的hash算法计算出数据存储表的表名,然后访问相应的表 。
按如下分10张表:
function get_hash_table($table, $userid)
{
$str = crc32($userid);
if ($str0) {
$hash = "0" . substr(abs($str), 0, 1);
} else {
$hash = substr($str, 0, 2);
}
return $table . "_" . $hash;
}
echo get_hash_table('message', 'user18991'); //结果为message_10
echo get_hash_table('message', 'user34523'); //结果为message_13
【MySQL怎么实现abs mysql怎么实现高可用】MySQL怎么实现abs的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql怎么实现高可用、MySQL怎么实现abs的信息别忘了在本站进行查找喔 。

推荐阅读