用户表量级过大 目的把用户表分一百张:
下面是试例:
<?php
namespace app\index\controller;
class Index
{
public function index()
{
$uId = '123123';
$tabCount = 100;//分成100个表 表名user0-user99 下表从0开始
$res = $this->getStringHash($uId,$tabCount);
halt($res);
//1·100 会根据uid返回 剩下的就是业务逻辑了。
}
public function getStringHash($uId, $tabCount)
{
$unsign = sprintf('%u', crc32($uId));
if ($unsign > 2147483647) {
$unsign -= 4294967296;
}
return abs($unsign) % $tabCount;
}
}
//创建表
for ($i=0; $i <= 99; $i++) { Db::query("CREATE TABLE user$i 里面是 创建表语句") }