錦州市廣廈電腦維修|上門(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无码一区二区三区性色 | 无码人妻久久久一区二区三区| 亚洲AV无码1区2区久久| 日韩激情无码免费毛片| 亚洲精品无码午夜福利中文字幕 | 中文字幕丰满伦子无码| 亚洲av无码专区青青草原| 日韩精品无码免费专区午夜不卡 | 免费看成人AA片无码视频吃奶| 无码国产精品一区二区免费16| 人妻无码一区二区三区四区| 亚洲精品无码专区在线播放| 无码专区天天躁天天躁在线| 中文字幕无码日韩专区免费| 曰韩无码AV片免费播放不卡| 精品久久久久久无码人妻中文字幕| 久久老子午夜精品无码| 国产精品亚韩精品无码a在线 | 久久久久无码国产精品一区| 亚洲AV无码乱码在线观看| 少妇爆乳无码专区| 亚洲国产精品无码久久| 久久午夜夜伦鲁鲁片免费无码影视| 日韩欧国产精品一区综合无码| 亚洲熟妇少妇任你躁在线观看无码| 99久无码中文字幕一本久道 | 日韩AV片无码一区二区不卡| 99久久人妻无码精品系列蜜桃| 无码人妻AⅤ一区二区三区| 亚洲中文字幕无码永久在线| 亚洲综合av永久无码精品一区二区| AV无码小缝喷白浆在线观看| 精品无码久久久久久久久久| 亚洲日韩中文无码久久| 无码午夜人妻一区二区三区不卡视频| 国产a级理论片无码老男人| 午夜无码A级毛片免费视频| 无码人妻精品一区二区三18禁| 久久久无码精品亚洲日韩京东传媒|