首頁 > 後端開發 > php教程 > 怎么PHP根据uid计算出来插入哪个数据库

怎么PHP根据uid计算出来插入哪个数据库

WBOY
發布: 2016-06-13 12:03:33
原創
1067 人瀏覽過

如何PHP根据uid计算出来插入哪个数据库?
我现在要实现一个功能:
要通过计算规则计算出来200w用户的uid,对应insert日志不同的表,如何计算出来,是的表均衡处理?
------解决方案--------------------
uid 通常是数字,取模就可以了
------解决方案--------------------
这需要代码吗?
令 $uid 为 uid 的值, $m 为日志表数
则表名 $tbl = '前缀' . ($uid % $m)

------解决方案--------------------
不知道你的多个表的命名规则 是什么? 是 200W 个用户,随机分配日志表,还是这个用户被创建时,就要指定放到哪张表?

1. 如果是随机的话,最好表的命名有一定的规则 ,比如:log001 , log002 ..., log100 这样子。直接用 rand() 加工一个数字出来,再拼成表名称;
2. 如果用户被创建时,就指定了写哪个表,就更好办了,在用户登录时,就把这个表名写到 session 中,写日的时候,直接拼接;
3. 如果,你想根据用户的第一位字符来确定,也可以采用方法 2 ;
------解决方案--------------------
你先要定义好一个表,然后

for($i-0; $i<300; $i++)<br />  mysql_query("carete table log_$i select * from 表 where 1=0“);<br />
登入後複製
300个表就建好了

插入时的表名计算我在 #6 已经给了

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板