mysql 水平分表
Posted 奔跑的小猪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 水平分表相关的知识,希望对你有一定的参考价值。
新建10张表,user_0,user_1,...user_9,方法不可串用,采用hash或取余法,获取要操作的表名,取值用对应存值的方法
1.hash取余法
public function part_table(){ $id=uniqid(); //php生成唯一 uuid $str = crc32($id); //hash 算法转换 $table_name = ‘user_‘.$str%10; //取余获取 表名 $user[‘id‘]=$id; $user[‘age‘]=‘20‘; $user[‘name‘]=‘小猪_‘.time(); db($table_name)->insert($user); //插入数据库 echo $table_name; }
2.hash
public function part_table(){ $id=uniqid(); //php生成唯一 uuid $str = crc32($id); //hash 算法转换 $hash = substr($str, 0, 1); $table_name = ‘user_‘.$hash; //获取 表名 $user[‘id‘]=$id; $user[‘age‘]=‘20‘; $user[‘name‘]=‘小猪_‘.time(); db($table_name)->insert($user); //插入数据库 echo $table_name; }
以上是关于mysql 水平分表的主要内容,如果未能解决你的问题,请参考以下文章