在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫  網(wǎng)絡(luò)安全/ mysql 通過merge 分表后 怎么進(jìn)行查詢和插入操作

mysql 通過merge 分表后 怎么進(jìn)行查詢和插入操作

通過merge根據(jù)id取模進(jìn)行分表后,查詢難道是直接查詢主表么?如果這樣,那分表就沒有意義了啊! 還有的人說通過union聯(lián)合查詢,那這樣估計(jì)還沒有直接查主表速度快吧!到底怎么查呢?
還有,插入的時(shí)候又怎么區(qū)分插入到哪個(gè)子表呢? 頭疼啊,有沒有大神詳細(xì)的講講!

回答
編輯回答
抱緊我

大概說一下,不要通過id取模進(jìn)行分表,而是根據(jù)特定查詢字段來分表。

比如,你需要查詢某個(gè)『日期』的數(shù)據(jù),那么可以根據(jù)『月份』來分表,你知道日期之后,自然能算出來月份是多少,自然就知道查詢那張表;
再比如,你需要查詢某個(gè)『人名』的數(shù)據(jù),那么可以根據(jù)人名算出一個(gè)hash值,按照這個(gè)hash值取前1、2位來分表,你要查詢某個(gè)人的數(shù)據(jù),就能提前算出人名hash值,就知道這個(gè)人的數(shù)據(jù)存在哪張表里了。

希望能幫助到你。

2018年1月13日 06:38
編輯回答
護(hù)她命

首先你要分清表與表之間的關(guān)系,到底是一對(duì)多、還是多對(duì)多

如你所說,你想查職稱的話,那肯定就是一對(duì)多的關(guān)系,自然需要分表

比如,主表A里字段就為 JobId 和分表B關(guān)聯(lián)上

查詢的話你就可以使用 LEFT JOIN 和分表關(guān)聯(lián)上

從而查詢出它對(duì)應(yīng)的職稱

2018年1月19日 12:30