最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL索引失效的問(wèn)題解決

 更新時(shí)間:2024年05月10日 09:34:38   作者:五敷有你  
索引可以大大提高查詢速度和效率,但如果索引失效了,查詢的效率會(huì)變得非常低,本文主要介紹了MySQL索引失效的問(wèn)題解決,感興趣的可以了解一下

一、索引列上運(yùn)算操作

不要在索引列上進(jìn)行運(yùn)算操作,否則索引會(huì)失效。

在tb_user的phone列加上索引,然后進(jìn)行條件查詢,在這個(gè)情況下,是可以走索引的。

但是在對(duì)索引列進(jìn)行操作的時(shí)候,比如截取字符串,就會(huì)導(dǎo)致索引失效。如下:

二、字符串不加單引號(hào)

有的時(shí)候我們編寫(xiě)字符串不規(guī)范,會(huì)不加單引號(hào),可以查詢出來(lái),但是它的執(zhí)行計(jì)劃不同。會(huì)導(dǎo)致全文掃描。

如下:

在加上單引號(hào)的情況

在不加上單引號(hào)的情況,如圖,是進(jìn)行的全文掃描。

三、模糊匹配

如果僅僅是尾部模糊匹配,索引不會(huì)失效,如果是頭部模糊匹配,索引失效。

如下:如果僅僅是模糊匹配,是可以進(jìn)行匹配到的。

如果頭部模糊,如下:索引失效。

注意: 在大量數(shù)據(jù)下,一定要規(guī)避頭部模糊查詢,會(huì)導(dǎo)致索引失效。

四、or連接的條件

用or分隔開(kāi)的條件,如果or一側(cè)的列有索引,但是另一側(cè)的列沒(méi)有索引,那么設(shè)計(jì)的索引都不會(huì)被用到。

首先age是沒(méi)有索引的,僅僅依靠age,復(fù)合索引是不生效的。

然后進(jìn)行explain的執(zhí)行計(jì)劃的查看發(fā)現(xiàn)涉及到的索引并沒(méi)有生效。

換個(gè)位置同理:

 創(chuàng)建age的索引,注意idx_user_age的索引命名規(guī)范,我就隨便寫(xiě)了,運(yùn)行后如下:索引執(zhí)行

五、數(shù)據(jù)分布影響

如果MySQL評(píng)估使用索引比全表掃描更慢,則不使用索引,走全表掃描。

如上三圖,經(jīng)過(guò)測(cè)試我們發(fā)現(xiàn),相同的SQL語(yǔ)句,只是傳入的字段值不同,最終的執(zhí)行計(jì)劃也完全不一樣,這是為 什么呢?

這是個(gè)在MYSQL查詢的時(shí)候,會(huì)對(duì)語(yǔ)句進(jìn)行評(píng)估,如果走全表掃描的時(shí)間比走索引慢,則放棄鎖引,走全表掃描。

因?yàn)樗饕怯脕?lái)索引少量數(shù)據(jù)的,如果通過(guò)索引查詢返回大批量的數(shù)據(jù),則還不 如走全表掃描來(lái)的快,此時(shí)索引就會(huì)失效。

到此這篇關(guān)于MySQL索引失效的問(wèn)題解決的文章就介紹到這了,更多相關(guān)MySQL索引失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論

婺源县| 都匀市| 娄底市| 鸡泽县| 仪征市| 永新县| 祁门县| 株洲市| 荆州市| 高碑店市| 淮安市| 福贡县| 洮南市| 石河子市| 双峰县| 宁陕县| 昌图县| 崇阳县| 五寨县| 东明县| 开化县| 建德市| 临泉县| 昌乐县| 纳雍县| 金昌市| 延川县| 华亭县| 哈巴河县| 长沙市| 板桥市| 定结县| 衡水市| 丹棱县| 竹山县| 太原市| 杂多县| 随州市| 河北区| 博爱县| 内丘县|