一般在有严格的自增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的信息别忘了在本站进行查找喔 。
推荐阅读
- thinkphp多级内容添加,thinkphp添加数据
- mysql可以安装到u盘,mysql80怎么安装到其他盘
- mis系统和erp系统,erp与mis的区别与联系
- go语言的结构体和方法 go语言的nil
- 医疗公司如何做推广业务,医疗营销推广
- 怎么安装新笔记本电脑软件,新笔记本如何下载安装软件
- 安卓手机如何管理任务,安卓手机多任务设置方法
- vb.net马赛克识别的简单介绍
- linux停止代理命令,linux系统怎么停止服务