当用户订单表 在电商网站存在时,流量大了,订单表势必会很大
那么分表就 来了
分表如何搞,我们 规划 比如订单分 100张表先玩,如果 100张暂时够用,那么我们搞一下
/**
@param $string 是分表的关键字 如用户uid
@param $tab_count 是要分多上张表 可以定义一个常量搞
@return string 数据表名的一个 拼接字符缀
*/
function getStringHash($string, $tab_count)
{
$unsign = sprintf('%u', crc32($string));
if ($unsign > 2147483647) // sprintf u for 64 & 32 bit
{
$unsign -= 4294967296;
}
return abs($unsign) % $tab_count;
}
for($i=0;$i<100000;$i++){
$arr[]= getStringHash($i,100);
}
echo getStringHash(10,100);
var_dump(array_unique($arr));
每次 传入 a 必然对应 唯一不变的 b