主頁 > 知識庫 > mysql索引失效的幾種情況分析

mysql索引失效的幾種情況分析

熱門標簽:百應電話機器人優(yōu)勢 南昌三維地圖標注 怎樣在地圖標注銷售區(qū)域 電話外呼系統(tǒng)改號 曲靖移動外呼系統(tǒng)公司 武漢網(wǎng)絡外呼系統(tǒng)服務商 外呼系統(tǒng)打電話上限是多少 啥是企業(yè)400電話辦理 地圖標注費用是多少

1、最佳左前綴原則——如果索引了多列,要遵守最左前綴原則。指的是查詢要從索引的最左前列開始并且不跳過索引中的列。

前提條件:表中已添加復合索引(username,password,age)

分析:該查詢?nèi)鄙賣sername,查詢條件復合索引最左側(cè)username缺少,違反了最佳左前綴原則,導致索引失效,變?yōu)锳LL,全表掃描

分析:查詢條件缺少username,password,查詢條件復合索引最左側(cè)username,password缺少,違反了最佳左前綴原則,導致索引失效,變?yōu)锳LL,全表掃描

分析:該查詢只有一個username條件,根據(jù)最佳左前綴原則索引能夠被使用到,但是是部分使用

2、不在索引列上做任何操作(計算,函數(shù),(自動或者手動)類型裝換),會導致索引失效而導致全表掃描

分析:第一個圖索引列不使用函數(shù),遵循左前綴原則,能夠使用索引。第二張圖索引列上使用了函數(shù),即使遵循左前綴原則,索引還是失效

3、存儲引擎不能使用索引中范圍條件右邊的列,范圍之后索引失效。( ,> between and)

分析:圖一索引全部使用到。圖二索引使用到username和age,但是username是使用索引檢索,而age著重索引排序,這時age為范圍查找,password索引將失效

4、mysql使用不等于(!= 或者>)的時候,無法使用索引,會導致索引失效

5、mysql中使用is not null 或者 is null會導致無法使用索引

分析:對username列做了普通索引,查詢帶is not null,結(jié)果索引不生效

6、mysql中l(wèi)ike查詢是以%開頭,索引會失效變成全表掃描,覆蓋索引。

分析:對username列做了普通索引,以%開頭進行查詢,結(jié)果索引失效被覆蓋

7、mysql中,字符串不加單引號索引會失效。正確寫法:select * from t_user where username = 'lujin';

8、mysql中,如果條件中有or,即使其中有條件帶索引也不會使用(這也是為什么盡量少用or的原因)。要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引

9、如果mysql使用全表掃描要比使用索引快,則不會使用到索引

總結(jié)

到此這篇關(guān)于mysql索引失效情況分析的文章就介紹到這了,更多相關(guān)mysql索引失效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mysql回表致索引失效案例講解
  • 解決mysql模糊查詢索引失效問題的幾種方法
  • MySQL索引失效的典型案例
  • MySQL索引失效的幾種情況詳析
  • MySQL索引失效的幾種情況匯總
  • mysql索引失效的五種情況分析
  • Mysql索引會失效的幾種情況分析
  • mysql索引失效的十大問題小結(jié)

標簽:甘南 黑河 錦州 荊州 資陽 隨州 吉林 滄州

巨人網(wǎng)絡通訊聲明:本文標題《mysql索引失效的幾種情況分析》,本文關(guān)鍵詞  mysql,索引,失效,的,幾種,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql索引失效的幾種情況分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql索引失效的幾種情況分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章