mysql - 數(shù)據(jù)庫分表分庫的問題?
問題描述
舉個簡單的例子,以訂單表為例。
例如:1個商家。10個用戶的uid分別為[1,2...,10]。10個用戶的10個訂單在一個數(shù)據(jù)表A中。現(xiàn)在需要根據(jù)uid進行水平分表,將10個訂單分到10個表中,即有A0,A1...A9共10個表。
問題1:目前有哪些好用的分表分庫工具嗎(或者相關(guān)的指導(dǎo)資料)?請大家推薦一下。
問題2:分表完成之后,用戶查詢訂單表沒有問題,那么商家查詢這些訂單的時候怎么查詢呢(即分表之間的join,或者應(yīng)當(dāng)怎樣分表才能避免這種分表join)?
PS:不知道我的表述是否清楚,如果有不清楚的地方,還請大家指出讓我及時改正,謝謝大家。
最后給個簡易的表結(jié)構(gòu):
訂單表:
order_iduidshop_id訂單id用戶id商戶id用戶表:
uidnicknameshop_id用戶uid昵稱商戶id問題解答
回答1:問題一:1、金山的Kingshardhttps://github.com/flike/king...
2、百度的heisenberghttps://github.com/brucexx/he...
3、58同城的Oceanushttps://github.com/58code/Oce...
4、淘寶toddle(不維護)https://github.com/alibaba/tb...
5、當(dāng)當(dāng)網(wǎng)的sharding-jdbchttps://github.com/dangdangdo...
問題二:沒有表結(jié)構(gòu),不過一般情況下都是這樣的。訂單表里包含訂單信息和訂單人的編號,人員表里包含人員編號和人員姓名,然后做連接查詢:
1select 訂單信息 from 訂單表 join 人員表 on 訂單表人員編號=人員表人員編號2where 人員表人員姓名=’xxx’
相關(guān)文章:
1. javascript - vue提示語法錯誤,請問錯誤在哪?2. 淺談vue生命周期共有幾個階段?分別是什么?3. index.php錯誤,求指點4. css - 關(guān)于偽類背景問題5. javascript - 為什么我的animation-fill-mode 設(shè)置不生效6. html - JavaScript的Dom操作如何改變子元素的文本內(nèi)容7. css - 移動端 oppo 手機之 Border-radius8. python - 抓包只抓到j(luò)son,真實的地址卻找不到9. java - web端百度網(wǎng)盤的一個操作為什么要分兩次請求服務(wù)器, 有什么好處嗎10. javascript - vue.js如何遞歸渲染組件.
