欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          mysql中in使用索引嗎

          mysql中in使用索引的情況:1、如果in查詢時(shí)在符合最左原則的前提下,是可以正常使用索引的;2、如果應(yīng)查詢的前面有范圍查詢,那么聯(lián)合索引失效,就不會(huì)使用索引了;3、查詢值的類型是int,列的類型是vachar時(shí),會(huì)導(dǎo)致索引失效。

          mysql中in使用索引嗎

          本教程操作環(huán)境:windows10系統(tǒng)、mysql5.7.17版本、Dell G3電腦。

          mysql中in使用索引嗎

          1、在mysql 5.7.17版本,in查詢可以用到索引

          +-----------+ | version() | +-----------+ | 5.7.17 | +-----------+

          2、查詢的值類型是int,列的類型是vachar,這樣會(huì)導(dǎo)致索引失效。

          3、數(shù)據(jù)量太大(200w)且in條件多,這個(gè)應(yīng)該Mysql的優(yōu)化器自己選擇判斷的,當(dāng)數(shù)據(jù)量很大的時(shí)候,in 查詢走索引也許不是最好的。(PS:這部分要考慮mysql自帶的優(yōu)化器的判斷,關(guān)于mysql的優(yōu)化器的執(zhí)行原理,那是相當(dāng)復(fù)雜,簡(jiǎn)而言之就是各種條件判斷,選出mysql自認(rèn)為的最優(yōu)解。)

          那么對(duì)于加入聯(lián)合索引的字段,in查詢會(huì)有效嗎?

          首先: 對(duì)于聯(lián)合索引,我們要明確一個(gè)概念,對(duì)于聯(lián)合索引,執(zhí)行順序時(shí)從左到右依次匹配,相當(dāng)于 order by id,name等。第一個(gè)字段一定有序,如果使用第二個(gè)字段的索引,必須先使用第一個(gè)字段,而且必須保證第二個(gè)字段有序。

          其次: 最左前綴匹配原則,非常重要的原則,mysql會(huì)一直向右匹配直到遇到范圍查詢(>、 "3" and d = "4" 如果建立(a,b,c,d)順序的索引,d是用不到索引的,因?yàn)閏字段進(jìn)行了范圍查詢,聯(lián)合索引失效。如果建立(a,b,d,c)的索引則都可以用到,a,b,d的順序可以任意調(diào)整。

          ,結(jié)果和上面的概念一樣,如果in查詢是在符合最左原則的前提下,是可以正常使用的索引的。但是如果in查詢的前面有范圍查詢,那么聯(lián)合索引失效,自然我們的in查詢也就用不到索引了

          推薦學(xué)習(xí):mysql視頻教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)