首頁 > 後端開發 > php教程 > 水平分錶與垂直分錶 水平標尺與垂直標尺 垂直水平靠尺 水平視角與垂直視

水平分錶與垂直分錶 水平標尺與垂直標尺 垂直水平靠尺 水平視角與垂直視

WBOY
發布: 2016-07-29 08:55:05
原創
1823 人瀏覽過

近日遇到一個問題,如果資料量比較大如何進行分錶?

資訊表為例:
我事先建100個這樣的表,message_00,message_01,message_02……….message_98,message_99.然後根據用戶的ID來判斷這個用戶的聊天資訊放到哪張表裡面,你可以用hash的方式來獲得,可以用求餘的方式來獲得,方法很多,各人想各人的吧。下面用hash的方法來獲得表名:
查看複製打印?
function get_hash_table($table,$userid) {
$str = crc32($userid);
if($str$hash = '0'.substr(abs($str), 0, 1);
}else{
$hash = substr($str, 0, 2);
}
return $table.'_'. $hash;
}
echo get_hash_table('message','user18991'); //結果為message_10

這個就是獲取資料表的方法


這個就是獲取資料表的方法

寫的原來的函數取得表名就可以了

 像新聞那種Cm s一半是根據分類來拆分錶的,這叫垂直切分

用戶那種叫水平切分 

 比如 : list50這個表水平切分 
 比如 : list50這個表資料 , 你PHP寫個判斷 , 每寫這表時判斷一下, 是不是 達到50W條, if達到 ,就寫入 list_1表 , 寫個自動增加表 

然後根據條件  寫個自動增加表 

🎜🎜然後根據條件  操作🎜🎜🎜 🎜 以上就介紹了水平分錶與垂直分錶,包括了垂直,水平方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板