一般普遍的方法就是采用分库分表
什么条件分库,什么条件分表,什么条件服务器集群
如果您的数据没达到百万以上,建议还是使用同库同表
如果涉及到分表,一般都是大项目,数据庞大,在linux下,文件最好不要超过1000,mysql一个表会生成三个文件,即一个数据库最好不要超过300个表
如果要分表,我们得一步到位 ,不然后续数据陆续增加,我们还得做分库,集群
1、一般一个表500万数据比较适合,超过500万,我们增加到下一个表
如我们要查找用户的订单,user_id=5000001
我们直接查找order_1表,里面order_1表中将存大于500万的用户ID数据
2、如果是用户表,我们把用户名hash,转二进制就行了
function get_hash($id){
$str = bin2hex(hash("md5",$id));
$hash = substr($str, 0, 4);
if (strlen($hash)<4){
$hash = str_pad($hash, 4, "0");
}
return $hash;
}