用戶可以使用手機號,郵箱,編號登錄,數據量特別大,需要分表,現在按照手機號hash進行分表,但是這樣的話,使用郵箱或者編號登錄的話怎麼辦呢?
回答:
1.數據量特別大,就算用戶量再,相信貴公司的產品不會超過 3億賬號,若是如此的話,建議拆分的時候採用路由表的模式,而不是HASH,也即你們的拆分手段就做不對。
2.若是按照手機號碼拆分的話,則會導致其他的 郵箱地址 和 編號登錄的時候,需要掃描整個拆分庫,則效率會非常糟糕,建議迅速調整拆分的架構,折中的辦法,增加一個數據庫,也即 手機號碼 同 郵箱 和 編號 的對照關係,若是按手機號碼,則直接進行HASH;
若是 郵箱 或編號登錄的話,則查找對照表中的手機號碼是多少,再HASH算法訪問。