錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見(jiàn)故障
錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
怎么判斷MySQL中sql語(yǔ)句索引是否生效

作者: 佚名  日期:2023-07-14 09:10:33   來(lái)源: 本站整理

創(chuàng)建表

1、建表語(yǔ)句如下所示:

DROP TABLE IF EXISTS `p_user`;

CREATE TABLE `p_user` (

  `id` int(11) NOT NULL auto_increment,

  `name` varchar(10) default NULL,

  `sex` char(2) default NULL,

  PRIMARY KEY  (`id`)

);

INSERT INTO `p_user` VALUES (‘1’, ‘A’, ‘男’);

INSERT INTO `p_user` VALUES (‘2’, ‘B’, ‘女’);

INSERT INTO `p_user` VALUES (‘3’, ‘C’, ‘男’);

怎么判斷MySQL中sql語(yǔ)句索引是否生效

然后給name字段創(chuàng)建Unique索引,請(qǐng)自行百度。

explain函數(shù)驗(yàn)證索引是否有效

第一步:使用列表name查詢驗(yàn)證索引。

1、使用索引列時(shí)索引才會(huì)生效,語(yǔ)句如下:

explain select * from p_user WHERE name=’B’

怎么判斷MySQL中sql語(yǔ)句索引是否生效

2、不使用索引查詢:

explain select * from p_user 

怎么判斷MySQL中sql語(yǔ)句索引是否生效

第二步:失效的索引。

1、使用語(yǔ)句:

explain select * from p_user WHERE name != ‘A’

怎么判斷MySQL中sql語(yǔ)句索引是否生效

 

第三步:復(fù)合場(chǎng)景。

1、使用語(yǔ)句:

explain select * from p_user WHERE name=’B’ AND name != ‘A’

怎么判斷MySQL中sql語(yǔ)句索引是否生效

 

 怎么判斷MySQL中sql語(yǔ)句索引是否生效

explain函數(shù)介紹

explain顯示了MySQL如何使用索引來(lái)處理select語(yǔ)句以及連接表。他可以幫助選擇更好的索引和寫(xiě)出更優(yōu)化的查詢語(yǔ)句

explain顯示了很多列,各個(gè)關(guān)鍵字的含義如下:

  1. table:顧名思義,顯示這一行的數(shù)據(jù)是關(guān)于哪張表的;
  2. type:這是重要的列,顯示連接使用了何種類(lèi)型。從最好到最差的連接類(lèi)型為:const、eq_reg、ref、range、indexhe和ALL;
  3. possible_keys:顯示可能應(yīng)用在這張表中的索引。如果為空,沒(méi)有可能的索引。可以為相關(guān)的域從where語(yǔ)句中選擇一個(gè)合適的語(yǔ)句;
  4. key: 實(shí)際使用的索引。如果為NULL,則沒(méi)有使用索引。很少的情況下,MySQL會(huì)選擇優(yōu)化不足的索引。這種情況下,可以在Select語(yǔ)句中使用USE INDEX(indexname)來(lái)強(qiáng)制使用一個(gè)索引或者用IGNORE INDEX(indexname)來(lái)強(qiáng)制MySQL忽略索引; 
  5. key_len:使用的索引的長(zhǎng)度。在不損失精確性的情況下,長(zhǎng)度越短越好;
  6. ref:顯示索引的哪一列被使用了,如果可能的話,是一個(gè)常數(shù);
  7. rows:MySQL認(rèn)為必須檢查的用來(lái)返回請(qǐng)求數(shù)據(jù)的行數(shù);
  8. Extra:關(guān)于MySQL如何解析查詢的額外信息。
  9. 具體的各個(gè)列所能表示的值以及含義可以參考MySQL官方文檔介紹,地址:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html

造成索引失效的場(chǎng)景

  1. where 子句中使用 != 或 <> 操作符,引擎將放棄使用索引而進(jìn)行全表掃描。
  2. where 子句中使用 or 來(lái)連接條件,將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描,即使其中有條件帶索引也不會(huì)使用,這也是為什么盡量少用 or 的原因。
  3. 對(duì)于多列索引,不是使用的一部分,則不會(huì)使用索引。
  4. 如果列類(lèi)型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái),否則不會(huì)使用索引。
  5. like的模糊查詢以 % 開(kāi)頭,索引失效。
  6. 在 where 子句中對(duì)字段進(jìn)行表達(dá)式操作,導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。
  7. 在 where 子句中對(duì)字段進(jìn)行函數(shù)操作,導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。
  8. 在 where 子句中的 “=” 左邊進(jìn)行函數(shù)、算術(shù)運(yùn)算或其他表達(dá)式運(yùn)算,導(dǎo)致系統(tǒng)將可能無(wú)法正確使用索引。
  9. 不適合鍵值較少的列(重復(fù)數(shù)據(jù)較多的列)。假如索引列TYPE有5個(gè)鍵值,如果有1萬(wàn)條數(shù)據(jù),那么 WHERE TYPE = 1將訪問(wèn)表中的2000個(gè)數(shù)據(jù)塊。再加***問(wèn)索引塊,一共要訪問(wèn)大于200個(gè)的數(shù)據(jù)塊。如果全表掃描,假設(shè)10條數(shù)據(jù)一個(gè)數(shù)據(jù)塊,那么只需訪問(wèn)1000個(gè)數(shù)據(jù)塊,既然全表掃描訪問(wèn)的數(shù)據(jù)塊少一些,肯定就不會(huì)利用索引了。


熱門(mén)文章
  • 條碼打印機(jī)設(shè)置標(biāo)簽紙大小?打印機(jī)驅(qū)...
  • 怎么判斷MySQL中sql語(yǔ)句索引是否生...
  • L1正則化和L2正則化
  • 在Linux系統(tǒng)下,可以使用以下方法和...
  • 主板型號(hào)怎么看?小編將給大家介紹...
  • win10在激活界面會(huì)提示無(wú)法訪問(wèn)激活...
  • 360日歷怎么卸載?360日歷怎么徹底...
  • 墨魚(yú)丸是什么怎么卸載?墨魚(yú)丸視頻...
  • Win10打開(kāi)壓縮文件提示安全警告的解...
  • Linux高頻常用指令匯總
  • 150個(gè)CMD命令(史上更全cmd命令 net...
  • 線性回歸算法
  • 錦州廣廈電腦上門(mén)維修

    報(bào)修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門(mén)服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門(mén)維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無(wú)線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤(pán)刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 亚洲一级特黄大片无码毛片| 色欲香天天综合网无码| 日韩久久无码免费毛片软件| 国产精品亚洲一区二区无码| 日韩av无码中文无码电影| 精品久久久久久无码专区| 亚洲 另类 无码 在线| 精品无码人妻夜人多侵犯18 | 精品少妇无码AV无码专区| 亚洲成A人片在线观看无码3D| 日韩人妻无码一区二区三区 | 免费人成无码大片在线观看 | 亚洲人片在线观看天堂无码| 免费无码AV片在线观看软件| 久久中文精品无码中文字幕| 亚洲国产精品无码久久98| 在线观看免费无码专区| 亚洲AV无码成人精品区日韩 | 亚洲一区二区三区无码影院| 日韩人妻无码一区二区三区久久 | 国产真人无码作爱免费视频| 国产午夜无码精品免费看| 亚洲av永久中文无码精品综合| 久久亚洲精品无码网站| 内射人妻少妇无码一本一道| 久久久无码精品亚洲日韩按摩| 精品国产v无码大片在线观看| 精品无码人妻夜人多侵犯18| 无码色偷偷亚洲国内自拍| 日韩精品无码AV成人观看| 黑人无码精品又粗又大又长| 精品无码国产一区二区三区AV | 无码夜色一区二区三区| 少妇性饥渴无码A区免费| 无码人妻AⅤ一区二区三区| 亚洲国产综合无码一区二区二三区| 国产成人无码一区二区在线播放| 亚洲精品无码久久久久久| 亚洲综合无码精品一区二区三区| 日本无码小泬粉嫩精品图| 性色av无码不卡中文字幕|