站長資訊網
        最全最豐富的資訊網站

        mysql中in會用索引嗎

        mysql中in是否會用索引的兩種情況:1、當in的取值范圍較小時,in會走索引;2、當in的取值范圍較大時,in不走索引,而是會用全表掃描。因為in的條件過多時,返回的數據就會很多,可能會導致應用堆內內存溢出,導致索引失效。

        mysql中in會用索引嗎

        本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

        mysql中in會用索引嗎

        結論:IN肯定會走索引,但是當IN的取值范圍較大時會導致索引失效,走全表掃描

        navicat可視化工具使用explain函數查看sql執行信息

        場景1:當IN中的取值只有一個主鍵時

        mysql中in會用索引嗎

        我們只需要注意一個最重要的type 的信息很明顯的提現是否用到索引:

        type結果值從好到壞依次是:

        system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

        all:全表掃描

        index:另一種形式的全表掃描,只不過他的掃描方式是按照索引的順序

        range:有范圍的索引掃描,相對于index的全表掃描,他有范圍限制,因此要優于index

        ref: 查找條件列使用了索引而且不為主鍵和unique。其實,意思就是雖然使用了索引,但該索引列的值并不唯一,有重復。這樣即使使用索引快速查找到了第一條數據,仍然不能停止,要進行目標值附近的小范圍掃描。但它的好處是它并不需要掃全表,因為索引是有序的,即便有重復值,也是在一個非常小的范圍內掃描。

        const:通常情況下,如果將一個主鍵放置到where后面作為條件查詢,mysql優化器就能把這次查詢優化轉化為一個常量。至于如何轉化以及何時轉化,這個取決于優化器

        一般來說,得保證查詢至少達到range級別,最好能達到ref,type出現index和all時,表示走的是全表掃描沒有走索引,效率低下,這時需要對sql進行調優。

        當extra出現Using filesor或Using temproary時,表示無法使用索引,必須盡快做優化。

        possible_keys:sql所用到的索引

        key:顯示MySQL實際決定使用的鍵(索引)。如果沒有選擇索引,鍵是NULL

        rows: 顯示MySQL認為它執行查詢時必須檢查的行數。

        場景2:擴大IN中的取值范圍

        mysql中in會用索引嗎

        此時仍然走了索引,但是效率降低了

        場景3:繼續擴大IN的取值范圍

        mysql中in會用索引嗎

        看上面的圖,發現此時已經沒有走索引了,而是全表掃描。

        在說一下結論

        結論:IN肯定會走索引,但是當IN的取值范圍較大時會導致索引失效,走全表掃描。

        By the way:如果使用了 not in,則不走索引。

        推薦學習:mysql視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 无夜精品久久久久久| 91麻豆精品国产| 国产精品久久久久久久久免费| 久久国产精品99精品国产| 精品久久久久香蕉网| 久久久无码精品亚洲日韩按摩| 精品成在人线AV无码免费看| 国产精品2019| 国内精品久久久久久久涩爱| 精品欧美一区二区在线看片| 亚洲精品国产成人影院| 久久久精品国产sm调教网站| 国产精品一久久香蕉产线看| 国产精品极品| 亚洲精品国产V片在线观看| 国内揄拍高清国内精品对白| 一区二区三区四区精品视频| 国产午夜亚洲精品国产成人小说| 亚洲精品无码专区在线播放 | 亚洲精品成人无限看| 精品国产三级a在线观看| 精品久久久久久国产91| 国产在线精品一区二区夜色| 亚洲日韩精品A∨片无码| 国产91久久精品一区二区| 国产精品人人做人人爽| 伊人久久精品无码二区麻豆| 99re久久精品国产首页2020| 精品欧美一区二区三区久久久| 国内精品久久久人妻中文字幕| 国产精品无码久久四虎| 亚洲AV无码精品无码麻豆| 精品视频第一页| 无码乱码观看精品久久| 国产国产精品人在线观看| 国产精品欧美久久久久无广告| 亚洲AV无码成人精品区蜜桃| 99久久免费只有精品国产| 人人妻人人澡人人爽人人精品| 91精品国产色综久久| 久久久精品人妻一区二区三区四|