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

mysql 通過merge 分表后 怎么進行查詢和插入操作

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

回答
編輯回答
抱緊我

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

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

希望能幫助到你。

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

首先你要分清表與表之間的關系,到底是一對多、還是多對多

如你所說,你想查職稱的話,那肯定就是一對多的關系,自然需要分表

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

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

從而查詢出它對應的職稱

2018年1月19日 12:30