1. 程式人生 > >資料庫按照手機號分庫後,還需要允許使用者使用郵箱、使用者名稱等登入,怎麼才能提高查詢效率?

資料庫按照手機號分庫後,還需要允許使用者使用郵箱、使用者名稱等登入,怎麼才能提高查詢效率?


回答:

1.資料量特別大,就算使用者量再,相信貴公司的產品不會超過 3億賬號,若是如此的話,建議拆分的時候採用路由表的模式,而不是HASH,也即你們的拆分手段就做不對。

2.若是按照手機號碼拆分的話,則會導致其他的 郵箱地址 和 編號登入的時候,需要掃描整個拆分庫,則效率會非常糟糕,建議迅速調整拆分的架構,折中的辦法,增加一個數據庫,也即 手機號碼 同 郵箱 和 編號 的對照關係,若是按手機號碼,則直接進行HASH;

若是 郵箱 或編號登入的話,則查詢對照表中的手機號碼是多少,再HASH演算法訪問。