|
在大中型項目中,在數(shù)據(jù)庫設計的時候,考慮到數(shù)據(jù)庫最大承受數(shù)據(jù)量,通常會把數(shù)據(jù)庫或者數(shù)據(jù)表水平切分,以降低單個庫,單個表的壓力。我這里介紹兩個我們項目中常用的數(shù)據(jù)表切分方法。當然這些方法都是在程序中?使用一定的技巧來路由到具體的表的。首先我們要確認根據(jù)什么來水平切分?在我們的系統(tǒng)(SNS)中,用戶的UID貫穿系統(tǒng),唯一自增長,根據(jù)這個字段分表,再好不過。
方法一:使用MD5哈希
做法是對UID進行md5加密,然后取前幾位(我們這里取前兩位),然后就可以將不同的UID哈希到不同的用戶表(user_xx)中了。
function getTable( $uid ){
$ext = substr ( md5($uid) ,0 ,2 );
return "user_".$ext;
}
it知識庫:數(shù)據(jù)庫水平切分方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。