數據庫按照手機號分庫後,還需要允許用戶使用郵箱、用戶名等登錄,怎麼才能提高查詢效率?

用戶可以使用手機號,郵箱,編號登錄,數據量特別大,需要分表,現在按照手機號hash進行分表,但是這樣的話,使用郵箱或者編號登錄的話怎麼辦呢?


回答:

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

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

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

發佈了13 篇原創文章 · 獲贊 15 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章