using where using index using index condition

where條件應(yīng)用分析

描述

Mysql查詢返回結(jié)果 的響應(yīng)時(shí)間搂抒,掃描的行數(shù),返回的行數(shù)可以衡量查詢開銷。執(zhí)行計(jì)劃Extra列顯示的where條件應(yīng)用情況有好壞之分,本文主要對(duì)using index铺呵,using index;using where,using where,using index condition四種類型進(jìn)行區(qū)分掌实。

關(guān)鍵詞

mysql優(yōu)化 where條件 覆蓋索引 ICP

圖示

2.png

要點(diǎn)

  • 數(shù)據(jù)庫(kù)是如何處理 where 中的條件的陪蜻?

    所有SQL的where條件,均可歸納為3大類:Index Key (First Key & Last Key)贱鼻,Index Filter宴卖,Table Filter

    對(duì) where 中過(guò)濾條件的處理滋将,根據(jù)索引使用情況分成了三種:index key, index filter, table filter

    1). index key

    用于確定SQL查詢?cè)谒饕械倪B續(xù)范圍(起始范圍+結(jié)束范圍)的查詢條件,被稱之為Index Key症昏。由于一個(gè)范圍随闽,至少包含一個(gè)起始與一個(gè)終止,因此Index Key也被拆分為Index First Key和Index Last Key肝谭,分別用于定位索引查找的起始掘宪,以及索引查詢的終止條件。也就是說(shuō)根據(jù)索引來(lái)確定掃描的范圍攘烛。

    2). index filter

    在使用 index key 確定了起始范圍和介紹范圍之后魏滚,在此范圍之內(nèi),還有一些記錄不符合where 條件坟漱,如果這些條件可以使用索引進(jìn)行過(guò)濾鼠次,那么就是 index filter。也就是說(shuō)用索引來(lái)進(jìn)行where條件過(guò)濾芋齿。

    3). table filter

    where 中的條件不能使用索引進(jìn)行處理的腥寇,只能訪問table,進(jìn)行條件過(guò)濾了觅捆。

    http://www.reibang.com/p/04db9e8f441b

  • 什么是ICP赦役?

    即所索引條件下推(index condition pushdown)

    它能減少在使用 二級(jí)索引 過(guò)濾where條件時(shí)的回表次數(shù) 和 減少M(fèi)ySQL server層和引擎層的交互次數(shù)。在索引組織表中栅炒,使用二級(jí)索引進(jìn)行回表的代價(jià)相比堆表中是要高一些的掂摔。

    也就是說(shuō)各種各樣的 where 條件,在進(jìn)行處理時(shí)职辅,分成了上面三種情況棒呛,一種條件會(huì)使用索引確定掃描的范圍;一種條件可以在索引中進(jìn)行過(guò)濾域携;一種必須回表進(jìn)行過(guò)濾;

    在 MySQL5.6 之前鱼喉,并不區(qū)分Index Filter與Table Filter秀鞭,統(tǒng)統(tǒng)將Index First Key與Index Last Key范圍內(nèi)的索引記錄,回表讀取完整記錄扛禽,然后返回給MySQL Server層進(jìn)行過(guò)濾锋边。

    而在MySQL 5.6之后,Index Filter與Table Filter分離编曼,Index Filter下降到InnoDB的索引層面進(jìn)行過(guò)濾豆巨,減少了回表與返回MySQL Server層的記錄交互開銷,提高了SQL的執(zhí)行效率掐场。

    所以所謂的 ICP 技術(shù)往扔,其實(shí)就是 index filter 技術(shù)而已贩猎。只不過(guò)因?yàn)镸ySQL的架構(gòu)原因,分成了server層和引擎層萍膛,才有所謂的“下推”的說(shuō)法吭服。所以ICP其實(shí)就是實(shí)現(xiàn)了index filter技術(shù),將原來(lái)的在server層進(jìn)行的table filter中可以進(jìn)行index filter的部分蝗罗,在引擎層面使用index filter進(jìn)行處理艇棕,不再需要回表進(jìn)行table filter。

    https://www.cnblogs.com/my_life/articles/10221132.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末串塑,一起剝皮案震驚了整個(gè)濱河市沼琉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桩匪,老刑警劉巖刺桃,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吸祟,居然都是意外死亡瑟慈,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門屋匕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)葛碧,“玉大人,你說(shuō)我怎么就攤上這事过吻〗茫” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵纤虽,是天一觀的道長(zhǎng)乳绕。 經(jīng)常有香客問我,道長(zhǎng)逼纸,這世上最難降的妖魔是什么洋措? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮杰刽,結(jié)果婚禮上菠发,老公的妹妹穿的比我還像新娘。我一直安慰自己贺嫂,他們只是感情好滓鸠,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著第喳,像睡著了一般糜俗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天悠抹,我揣著相機(jī)與錄音珠月,去河邊找鬼。 笑死锌钮,一個(gè)胖子當(dāng)著我的面吹牛桥温,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梁丘,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼侵浸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了氛谜?” 一聲冷哼從身側(cè)響起掏觉,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎值漫,沒想到半個(gè)月后澳腹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杨何,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年酱塔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片危虱。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡羊娃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出埃跷,到底是詐尸還是另有隱情蕊玷,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布弥雹,位于F島的核電站垃帅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏剪勿。R本人自食惡果不足惜贸诚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窗宦。 院中可真熱鬧赦颇,春花似錦、人聲如沸赴涵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)髓窜。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寄纵,已是汗流浹背鳖敷。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留程拭,地道東北人定踱。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像恃鞋,于是被迫代替她去往敵國(guó)和親崖媚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 表結(jié)構(gòu) Using where: 表示MySQL服務(wù)器在存儲(chǔ)引擎收到記錄后進(jìn)行“后過(guò)濾”(Post-filter)...
    史小猿閱讀 3,357評(píng)論 0 1
  • Using index condition: 索引下推,意思是解析索引列, 找到符合條件的數(shù)據(jù).Using whe...
    百里江山閱讀 2,750評(píng)論 0 0
  • 一、問題描述 一條SQL水由,在數(shù)據(jù)庫(kù)中是如何執(zhí)行的呢荠呐?相信很多人都會(huì)對(duì)這個(gè)問題比較感興趣。當(dāng)然砂客,要完整描述一條SQL...
    張偉科閱讀 273評(píng)論 0 1
  • 久違的晴天泥张,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí)鞠值,離放學(xué)已經(jīng)沒多少時(shí)間了媚创。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,524評(píng)論 16 22
  • 創(chuàng)業(yè)是很多人的夢(mèng)想齿诉,多少人為了理想和不甘選擇了創(chuàng)業(yè)來(lái)實(shí)現(xiàn)自我價(jià)值筝野,我就是其中一個(gè)。 創(chuàng)業(yè)后粤剧,我由女人變成了超人歇竟,什...
    亦寶寶閱讀 1,818評(píng)論 4 1