mysql - 數(shù)據(jù)庫(kù)分表分庫(kù)的問(wèn)題?
問(wèn)題描述
舉個(gè)簡(jiǎn)單的例子,以訂單表為例。
例如:1個(gè)商家。10個(gè)用戶的uid分別為[1,2...,10]。10個(gè)用戶的10個(gè)訂單在一個(gè)數(shù)據(jù)表A中?,F(xiàn)在需要根據(jù)uid進(jìn)行水平分表,將10個(gè)訂單分到10個(gè)表中,即有A0,A1...A9共10個(gè)表。
問(wèn)題1:目前有哪些好用的分表分庫(kù)工具嗎(或者相關(guān)的指導(dǎo)資料)?請(qǐng)大家推薦一下。
問(wèn)題2:分表完成之后,用戶查詢訂單表沒(méi)有問(wèn)題,那么商家查詢這些訂單的時(shí)候怎么查詢呢(即分表之間的join,或者應(yīng)當(dāng)怎樣分表才能避免這種分表join)?
PS:不知道我的表述是否清楚,如果有不清楚的地方,還請(qǐng)大家指出讓我及時(shí)改正,謝謝大家。
最后給個(gè)簡(jiǎn)易的表結(jié)構(gòu):
訂單表:
order_iduidshop_id訂單id用戶id商戶id用戶表:
uidnicknameshop_id用戶uid昵稱商戶id問(wèn)題解答
回答1:問(wèn)題一:1、金山的Kingshardhttps://github.com/flike/king...
2、百度的heisenberghttps://github.com/brucexx/he...
3、58同城的Oceanushttps://github.com/58code/Oce...
4、淘寶toddle(不維護(hù))https://github.com/alibaba/tb...
5、當(dāng)當(dāng)網(wǎng)的sharding-jdbchttps://github.com/dangdangdo...
問(wèn)題二:沒(méi)有表結(jié)構(gòu),不過(guò)一般情況下都是這樣的。訂單表里包含訂單信息和訂單人的編號(hào),人員表里包含人員編號(hào)和人員姓名,然后做連接查詢:
1select 訂單信息 from 訂單表 join 人員表 on 訂單表人員編號(hào)=人員表人員編號(hào)2where 人員表人員姓名=’xxx’
相關(guān)文章:
1. angular.js - angular ng-class里面的引號(hào)問(wèn)題2. javascript - 這段代碼如何理解?3. java - 是否類 類型指針、引用作為形參 ,函數(shù)結(jié)束不會(huì)自動(dòng)析構(gòu)類?4. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境5. matplotlib - python函數(shù)的問(wèn)題6. mysql無(wú)法添加外鍵7. 網(wǎng)頁(yè)爬蟲(chóng) - 用Python3的requests庫(kù)模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?8. javascript - react 中綁定事件和阻止事件冒泡9. JavaScript事件10. javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問(wèn)題
