一般在有严格的自增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的信息别忘了在本站进行查找喔 。
- mysql游标和存储过程是什么 mysql游标表名为变量
- 如何使用cmd命令行提示符登录mysql服务器 cmd中登陆mysql
- mysql怎么设置时区 mysql时间显示设置
- 招聘要精通mysql
- mysql 65535 8192 限制 mysql限制资源使用
- mysql有topn
- mysql协议包解析 mysqlicp协议
- mysql子查询和连接查询 mysql子查询插入
- Mysql使用索引查询 mysql使用round
- 云服务器游戏出现黑屏问题怎么解决? 云服务器游戏黑屏怎么办
