• <tt id="4ayss"><strong id="4ayss"></strong></tt>
  • <xmp id="4ayss"><menu id="4ayss"></menu><nav id="4ayss"><strong id="4ayss"></strong></nav>
    <nav id="4ayss"><strong id="4ayss"></strong></nav>
  • <nav id="4ayss"></nav>

    卓象程序員 | 哈爾濱IT培訓 | 品質教育,口碑傳承 | 為做出口口相傳,好口碑的教育品牌而奮斗!

    卓象程序員讓每一位學員高薪就業 聯系我們13101507057

    加微信,了解詳情
    您所在的位置:首頁 > 文章 >卓象技術

    「卓象程序員」MYSQL索引失效
    時間: 2019-10-23 09:08:26     來源: 卓象IT實訓基地【原創】


            在數據庫中做查詢等操作,經常發現查詢很慢,但是已經在列上建了索引,最后經過研究發現,很多種情況引起了索引失效。

    表結構:

    如下圖建立一個組合索引IDX_NAME_AGE_TEL 


    比如以下幾種情況,將導致索引失效:

    1.左前綴法則:


    查詢從索引的最左側前列開始,并且不能跳過索引中的列

        如上圖所示:1·2·3中可以看到使用多個索引的key_len長度變化,

        在圖4中由于左側列name字段沒有使用索引導致全表掃描,索引失效,

        在圖5中由于沒有使用age字段索引所以導致tel字段索引失效。

    2.不能在索引上做任何操作:


            計算、函數、類型轉換(包括隱士轉換),會導致索引失效,若最左側索引使用會導致索引失效全表掃描。

        圖1:對name字段進行了函數操作,索引失效導致全表掃描。

        圖2:tel字段是char類型,書寫方式是數字類型的書寫方式,MYSQL進行了隱式數據操作導致索引失效。

    3. 范圍查詢:


    (!=, <> ,>,<)和is not null 條件語句會導致右側索引失效,若最左側索引使用會導致索引失效全表掃描。

    4. like


    like以通配符開頭('%abc')會導致自身與右側索引失效,若最左側索引使用會導致索引失效全表掃描。使用like 需要('abc%'),使用覆蓋索引可以使最左側字段使用like以通配符開頭('%abc')生效。

    5. 少用or,用它來連接時索引會失效。



    每日分享技術干貨~

    報名卓象免費訓練營課程

    學習最新熱門IT技術

    找一份自己滿意的高薪工作

    15天免費學習??!

    卓象程序員

    ★ 零基礎,隨時體驗

    ★ 免費試聽,滿意后再報名

    ★ 小班授課,學習氛圍濃厚

    ★ 口碑相傳,80%學員來自口碑推薦

    ★ 教學嚴管,闖關式學習保障學習效果

    ★ 公司地點,哈爾濱市東直路123號7樓




    热99re久久精品|天天综合网久久综合免费人成|91久久久久久久精品青草| 亚洲AV无码无一区二区Ⅰ久久|
  • <tt id="4ayss"><strong id="4ayss"></strong></tt>
  • <xmp id="4ayss"><menu id="4ayss"></menu><nav id="4ayss"><strong id="4ayss"></strong></nav>
    <nav id="4ayss"><strong id="4ayss"></strong></nav>
  • <nav id="4ayss"></nav>