本篇文章給大家分享的是有關(guān)MySQL中怎么進(jìn)行優(yōu)化器對(duì)子查詢的處理,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、城中網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為城中等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
根據(jù)子查詢的類型和位置不同,mysql優(yōu)化器會(huì)對(duì)查詢語(yǔ)句中的子查詢采取不同的處理策略,其中包括改寫為連接(join),改寫為半連接(semi-join)及進(jìn)行物化處理等。
標(biāo)量子查詢(Scalar Subquery):查詢語(yǔ)句中的標(biāo)量子查詢每次只返回一行數(shù)據(jù),執(zhí)行期間優(yōu)化器能將其優(yōu)化掉并對(duì)其進(jìn)行緩沖處理。
IN子查詢(唯一)(IN Subquery(Unique)):查詢語(yǔ)句中的子查詢返回唯一數(shù)據(jù)集,因此,優(yōu)化器可以將這種子查詢安全的轉(zhuǎn)換為內(nèi)連接(inner join)進(jìn)行處理。explain后執(zhí)行show warnings應(yīng)該可以看到這種場(chǎng)景的發(fā)生。
IN子查詢(非唯一)(IN Subquery(Non-Unique)):當(dāng)查詢語(yǔ)句中的子查詢返回非唯一數(shù)據(jù)集時(shí),此時(shí),優(yōu)化器并不能將子查詢安全的轉(zhuǎn)換為內(nèi)連接,而只能采取其他的處理策略,例如:將子查詢轉(zhuǎn)換為半連接(Semi-join),而mysql中,執(zhí)行半連接的策略包括FirstMatch,Materializelookup,Materializescan,DuplicatesWeedout,Loosescan等,每種策略的具體處理細(xì)節(jié),大家可以參考相應(yīng)文檔,此處不再贅述。
NOT IN子查詢(NOT IN子查詢):針對(duì)查詢語(yǔ)句中的NOT IN子查詢,mysql優(yōu)化器可以采取物化處理和轉(zhuǎn)化為exists兩種策略。
驅(qū)動(dòng)表(Derived Table):針對(duì)查詢語(yǔ)句from子句中的子查詢,mysql優(yōu)化器并不會(huì)對(duì)其進(jìn)行物化處理。而是通常對(duì)其進(jìn)行合并處理(merge),其類似于視圖將其定義與查詢語(yǔ)句的謂詞合并的方法。
CTEs和視圖(CTEs and Views):視圖作為存儲(chǔ)的查詢,可以簡(jiǎn)化應(yīng)用,也可以實(shí)現(xiàn)數(shù)據(jù)安全,而CTEs與視圖類似,只是其生命期僅僅局限于相關(guān)查詢語(yǔ)句本身。mysql優(yōu)化器對(duì)CTEs和視圖的處理,主要有兩種策略,那就是合并處理(Merge)和物化處理(Materialize),針對(duì)CTEs和視圖,mysql優(yōu)化器首先嘗試對(duì)其進(jìn)行與主查詢的合并,當(dāng)某些場(chǎng)景導(dǎo)致其不能與住查詢合并時(shí),才會(huì)考慮通過將視圖或CTEs結(jié)果通過臨時(shí)表進(jìn)行固化,以供主查詢其他部分進(jìn)行查詢使用。這點(diǎn)explain后show warings可以看到這些場(chǎng)景的出現(xiàn)。
以上就是Mysql中怎么進(jìn)行優(yōu)化器對(duì)子查詢的處理,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:Mysql中怎么進(jìn)行優(yōu)化器對(duì)子查詢的處理
文章URL:http://aaarwkj.com/article0/pdieio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名、App設(shè)計(jì)、Google、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)