鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ mysql innodb如何判斷緩沖池在多大程度上影響了sql的執(zhí)行效率?

mysql innodb如何判斷緩沖池在多大程度上影響了sql的執(zhí)行效率?

背景是這樣的,有一條mysql的慢查詢, 使用join本地要跑20多秒,使用left join本地跑了2秒,但是拿去線上環(huán)境去測(cè)試,發(fā)現(xiàn)join反而只需要7秒,而left join 需要11秒,線下的環(huán)境也是生產(chǎn)環(huán)境的數(shù)據(jù),只是比較舊,因此我很費(fèi)解這個(gè)結(jié)果, 我認(rèn)為是線上的數(shù)據(jù)庫(kù)緩沖池中已經(jīng)緩沖了大部分頁(yè)數(shù)據(jù),而本地沒(méi)有導(dǎo)致的問(wèn)題,
請(qǐng)問(wèn)各位大神,我應(yīng)該怎么去思考這個(gè)問(wèn)題,找到問(wèn)題的差異?

回答
編輯回答
雨蝶

你在測(cè)試的時(shí)候加SQL_NO_CACHE試試?這就不會(huì)使用innodb的數(shù)據(jù)緩存了。

2018年1月16日 16:37
編輯回答
乖乖噠

這種情況基本可以忽略緩沖池影響
你要看下具體執(zhí)行計(jì)劃有哪里不一樣
表的統(tǒng)計(jì)信息是否準(zhǔn)確也會(huì)影響執(zhí)行計(jì)劃
還有數(shù)據(jù)的分布情況也會(huì)極大的影響sql的執(zhí)行效率
所以你可以同步一下數(shù)據(jù)再看看區(qū)別

2018年8月22日 12:09