W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Mycat2在對SQL編譯成生成邏輯關(guān)系表達(dá)式.Mycat2對它進(jìn)行Filter
下推規(guī)則處理,使Filter
盡量下沉到TableScan
之上,這樣就可以應(yīng)用分區(qū)剪裁規(guī)則,減少掃描的物理表的數(shù)量,使SQL查詢具有水平擴(kuò)展性.
另外Project
下推也是一個很重要的規(guī)則,它關(guān)系表達(dá)式中的作用是執(zhí)行投影與函數(shù)表達(dá)式計算.
session
級別的函數(shù),比如row_count
,就不會下推該函數(shù).Project
合拼.一方面,僅僅依賴SQL編譯成邏輯關(guān)系表達(dá)式,以SQL語義生成Project
是不足夠的,因為Mycat2會需要與后端存儲節(jié)點進(jìn)行網(wǎng)絡(luò)通訊,如果沒用的字段的列過多,會導(dǎo)致多余的網(wǎng)絡(luò)損耗.另一方面,對于無法變成SQL的Project
,會進(jìn)一步編譯成執(zhí)行器,在算子之間交換數(shù)據(jù),存在多余的列的值,也是會導(dǎo)致多余的內(nèi)存占用,轉(zhuǎn)換計算問題.所以Mycat2在SQL重寫器中引入FieldTrimmer
添加額外的Project
算子剪裁列來減少不必要的性能損耗.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: