欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

mysql索引失效怎么解,為什么mysql 使用函數(shù) 索引失效

mysql 索引失效總結(jié)

首先我們還是先把表結(jié)構(gòu)說(shuō)下:用戶表tb_user結(jié)構(gòu)如下:

成都創(chuàng)新互聯(lián)公司專注于辰溪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供辰溪營(yíng)銷型網(wǎng)站建設(shè),辰溪網(wǎng)站制作、辰溪網(wǎng)頁(yè)設(shè)計(jì)、辰溪網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造辰溪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供辰溪網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

1、 不要在索引列上進(jìn)行運(yùn)算操作, 索引將失效。

手機(jī)號(hào)phone字段有唯一索引,當(dāng)根據(jù)phone字段進(jìn)行函數(shù)運(yùn)算操作之后,索引失效:

2、 字符串類型字段使用時(shí),不加引號(hào),索引將失效。

如果字符串不加單引號(hào),對(duì)于查詢結(jié)果,沒(méi)什么影響,但是數(shù) 據(jù)庫(kù)存在隱式類型轉(zhuǎn)換,索引將失效。

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

接下來(lái),我們來(lái)看一下這三條SQL語(yǔ)句的執(zhí)行效果,查看一下其執(zhí)行計(jì)劃:

由于下面查詢語(yǔ)句中,都是根據(jù)profession(專業(yè))字段查詢,profession字段是一個(gè)普通的索引, 我們主要看一下,模糊查詢時(shí),%加在關(guān)鍵字之前,和加在關(guān)鍵字之后的影響。

經(jīng)過(guò)上述的測(cè)試,我們發(fā)現(xiàn),在like模糊查詢中,在關(guān)鍵字后面加%,索引可以生效。而如果在關(guān)鍵字 前面加了%,索引將會(huì)失效。

4、 用or分割開(kāi)的條件, 如果or前的條件中的列有索引,而后面的列中沒(méi)有索引,那么涉及的索引都不會(huì) 被用到。

由于age沒(méi)有索引,所以即使id有索引,索引也會(huì)失效。所以需要針對(duì)于age也要建立索引。

5、 數(shù)據(jù)分布影響:如果MySQL評(píng)估使用索引比全表更慢,則不使用索引。

索引失效的情況和解釋

索引并不是時(shí)時(shí)都會(huì)生效的,比如以下幾種情況,將導(dǎo)致索引失效:

1.如果條件中有or,即使其中有條件帶索引也不會(huì)使用(這也是為什么盡量少用or的原因)

注意:要想使用or,又想讓索引生效,只能將or條件中的每個(gè)列都加上索引

2.對(duì)于多列索引,不是使用的第一部分,則不會(huì)使用索引

3.like查詢是以%開(kāi)頭

4.如果列類型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái),否則不使用索引

5.如果mysql估計(jì)使用全表掃描要比使用索引快,則不使用索引

此外,查看索引的使用情況

show status like ‘Handler_read%';

大家可以注意:

handler_read_key:這個(gè)值越高越好,越高表示使用索引查詢到的次數(shù)

handler_read_rnd_next:這個(gè)值越高,說(shuō)明查詢低效。

------------------

1、WHERE字句的查詢條件里有不等于號(hào)(WHERE column!=...),MYSQL將無(wú)法使用索引

2、類似地,如果WHERE字句的查詢條件里使用了函數(shù)(如:WHERE DAY(column)=...),MYSQL將無(wú)法使用索引

3、在JOIN操作中(需要從多個(gè)數(shù)據(jù)表提取數(shù)據(jù)時(shí)),MYSQL只有在主鍵和外鍵的數(shù)據(jù)類型相同時(shí)才能使用索引,否則即使建立了

索引也不會(huì)使用

4、如果WHERE子句的查詢條件里使用了比較操作符LIKE和REGEXP,MYSQL只有在搜索模板的第一個(gè)字符不是通配符的情況下才能

使用索引。比如說(shuō),如果查詢條件是LIKE 'abc%',MYSQL將使用索引;如果條件是LIKE '%abc',MYSQL將不使用索引。

5、在ORDER BY操作中,MYSQL只有在排序條件不是一個(gè)查詢條件表達(dá)式的情況下才使用索引。盡管如此,在涉及多個(gè)數(shù)據(jù)表的查

詢里,即使有索引可用,那些索引在加快ORDER BY操作方面也沒(méi)什么作用。

6、如果某個(gè)數(shù)據(jù)列里包含著許多重復(fù)的值,就算為它建立了索引也不會(huì)有很好的效果。比如說(shuō),如果某個(gè)數(shù)據(jù)列里包含了凈是

些諸如“0/1”或“Y/N”等值,就沒(méi)有必要為它創(chuàng)建一個(gè)索引。

mysql 避免索引失效

where條件==order by 條件==group by 條件 按順序遵守 最佳左前綴法則

假設(shè)創(chuàng)建了復(fù)合索引:a,b,c

不在索引列上做任何的操作(計(jì)算、函數(shù)、顯式或隱式的類型轉(zhuǎn)換),否則會(huì)導(dǎo)致索引失效而轉(zhuǎn)向全表掃描

1、字符不加單引號(hào)會(huì)導(dǎo)致索引失效

name字段為varchar類型

這條sql發(fā)生了隱式的類型轉(zhuǎn)換:數(shù)值==字符串。所以導(dǎo)致了全表掃描,索引失效

應(yīng)盡量避免在 where 子句中對(duì)字段進(jìn)行表達(dá)式操作,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。如:

mysql中的范圍條件有:in/not in、 like、 、BETWEEN AND ;

后面的索引失效

in會(huì)導(dǎo)致索引全部失效!??!

BETWEEN AND 范圍條件不會(huì)導(dǎo)致索引失效?。?!

盡量讓索引列和查詢列一致;減少select * 的使用

1、查詢表結(jié)構(gòu)

2、查詢表的索引結(jié)構(gòu)

聯(lián)合索引:name,age,post;說(shuō)明add_time字段沒(méi)有添加索引

3、查看select * 的執(zhí)行計(jì)劃

4、查看 select name,age,pos的執(zhí)行計(jì)劃

5、如果select只用一部分索引

like以通配符開(kāi)頭(’%abc…’)mysql索引失效會(huì)變成全表掃描的操作。

解決:可以使用 覆蓋索引 來(lái)解決這個(gè)問(wèn)題!

1、先查看表上的索引

id、name、age、pos 四個(gè)字段上都有索引; 注意:name是聯(lián)合索引中的第一個(gè),帶頭大哥!

2、查看表結(jié)構(gòu)

有個(gè)add_time字段沒(méi)有用到索引

3、查看執(zhí)行計(jì)劃

使用UNION ALL

假設(shè)創(chuàng)建了聯(lián)合索引 x(a,b,c)

ps:like雖然也是范圍查詢但是區(qū)別于、,%用在最前面就只用到索引a了;%用在最后面可以用到a+b+c!

下面的sql幾乎違背了上面的所有原則,索引依然全部生效。因?yàn)閟elect是索引覆蓋的,select里不包含沒(méi)有建立索引的字段。因此總是用到索引的。可以看出來(lái)索引覆蓋在sql優(yōu)化中的作用性

分享名稱:mysql索引失效怎么解,為什么mysql 使用函數(shù) 索引失效
鏈接地址:http://aaarwkj.com/article44/hchgee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站制作、用戶體驗(yàn)自適應(yīng)網(wǎng)站、網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
国产男女爱猛视频在线| 欧美日韩一区二区激情在线| 国产精品一区在线播放| 亚洲精品影视一区二区| 国产又粗又爽视频免费| 欧美中文字幕精在线不卡| 日本熟熟妇丰满人妻啪啪| 欧美亚洲尤物久久精品| 超碰97免费在线观看| 91在线播放国产视频| 蜜臀一二区免费在线视频| 国产精品中文一区二区三区| 天天操天天夜夜操夜夜| 国产男女在线视频观看| 91久久精品人妻一区二区| 免费黄色福利网址大片| 久久国产国内精品国语对白| 精品三级一区二区三区| 亚洲三区四区视频在线观看| 五月天丁香婷婷一区二区| 亚洲一区二区三区在线观看| 午夜日本大胆裸体艺术| 福利在线午夜绝顶三级| 国产在线视频不卡福利片| 日本久久在线观看视频| 亚洲天堂日韩欧美在线一区| 日本待黄大片一区二区| 91九色精品视频在线观看| 丰满人妻中出av在线| 亚洲国产精品中文字幕一区久久| 在线观看国产自拍精品| 色噜噜色一区二区三区| 放荡成熟人妻中文字幕| 久久亚洲综合色一区二区三区| 日韩欧美精品一区二区三区四区| 人人妻人人澡人人爽久久av| 色哟哟91精品色哟哟| 另类视频在线观看免费| 在线观看国产小视频不卡| 日本少妇人妻一区二区| 日本在线中文字幕乱码|