這個案例并不是我遇到的,但是我的工作生產(chǎn)環(huán)境中有使用到federated存儲引擎,所以記錄一下。
優(yōu)化前
有一條SQL部分截取內(nèi)容如下,執(zhí)行約268秒才能出結(jié)果:
優(yōu)化后
從這條SQL的執(zhí)行計劃中可以看出來mego.trade_order并沒有出現(xiàn)在table列中,經(jīng)查看,mego.trade_order是一個Federated存儲引擎,類似Oracle的DBlink,在本地只是個鏈接的形式存在,實際數(shù)據(jù)文件并不存在。
所以mego.trade_order表作為一個subquery效率非常差,可以改寫成join的方式,去掉subquery,讓mego.trade_order表盡量第一個前面的結(jié)果join,減少去遠程服務(wù)器取數(shù)據(jù)的次數(shù),優(yōu)化如下,優(yōu)化過后只需要0.74秒
有關(guān)Federated存儲引擎參考鏈接
https://dev.mysql.com/doc/refman/5.5/en/federated-storage-engine.html
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。