Mycat2 Join下推

2021-09-09 16:08 更新

只涉及單表與單表之間的join,只要它們的存儲(chǔ)節(jié)點(diǎn)相同,就可以下推

涉及任意表與全局表之間的left/inner join都可以下推

涉及分片表之間的分片算法的數(shù)據(jù)分布相同同時(shí)使用拆分鍵進(jìn)行等值查詢就可以下推

值得注意的是,上述說(shuō)的表并非指a join b on a.id = b.idab只能是邏輯表,而是可以使用多次運(yùn)算得出的臨時(shí)表

FULL JOIN都不支持下推.Mysql沒(méi)有這個(gè)運(yùn)算,不討論FULL JOIN

所有是指INNER,LEFT,RIGHT,SEMI,ANTI

左表 右表 JOIN類型 額外下推條件
單表 單表 所有 targetName相同
單表 全局表 所有
單表 分片表 不支持
全局表 單表 所有
全局表 分片表 INNER,RIGHT push_down_join_broadcast可以強(qiáng)制下推
全局表 全局表 所有
分片表 全局表 INNER,LEFT,SEMI,ANTI(不支持RIGHT) push_down_join_broadcast可以強(qiáng)制下推
分片表 單表 不支持
分片表 分片表 所有 ER關(guān)系,分片鍵等值查詢

以上規(guī)則適用于能被重寫(xiě)為全局索引表分片表

以上規(guī)則適用于能被重寫(xiě)為join的子查詢,無(wú)法下推的join運(yùn)算,mycat會(huì)進(jìn)行運(yùn)算得出正確的結(jié)果

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)