婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

MySQL索引失效的幾種情況詳析

熱門標簽:400電話鄭州申請 常州電銷外呼系統(tǒng)一般多少錢 沃克斯電梯外呼線路圖 福州呼叫中心外呼系統(tǒng)哪家好 云南語音外呼系統(tǒng)平臺 房產(chǎn)智能外呼系統(tǒng)品牌 天智外呼系統(tǒng) 地圖標注被騙三百怎么辦 北京人工外呼系統(tǒng)價錢

1.前導模糊查詢不能利用索引(like '%XX'或者like '%XX%')

假如有這樣一列code的值為'AAA','AAB','BAA','BAB' ,如果where code like '%AB'條件,由于前面是

模糊的,所以不能利用索引的順序,必須一個個去找,看是否滿足條件。這樣會導致全索引掃描或者全表掃

描。如果是這樣的條件where code like 'A % ',就可以查找CODE中A開頭的CODE的位置,當碰到B開頭的

數(shù)據(jù)時,就可以停止查找了,因為后面的數(shù)據(jù)一定不滿足要求。這樣就可以利用索引了。

2.如果是組合索引的話,如果不按照索引的順序進行查找,比如直接使用第三個位置上的索引而忽略第一二個位置上的索引時,則會進行全表查詢

索引為c1,c2,c3,c4

上圖結(jié)果顯示直接使用c3是全表查詢,無法使用該索引的,所以c3字段使用索引的前提是c1,c2兩字段均使用了索引。

3.條件中有or

應(yīng)盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描,如:

select id from t where num=10 or num=20

可以這樣查詢:

select id from t where num=10 union all select id from t where num=20

4.索引無法存儲null值,所以where的判斷條件如果對字段進行了null值判斷,將導致數(shù)據(jù)庫放棄索引而進行全表查詢,如

select id from t where num is null

可以在num上設(shè)置默認值0,確保表中num列沒有null值,然后這樣查詢:

select id from t where num=0

a.單列索引無法儲null值,復合索引無法儲全為null的值。

b.查詢時,采用is null條件時,不能利用到索引,只能全表掃描。

為什么索引列無法存儲Null值?

a.索引是有序的。NULL值進入索引時,無法確定其應(yīng)該放在哪里。(將索引列值進行建樹,其中必然涉及到諸多的比較操作,null 值是不確定值無法比較,無法確定null出現(xiàn)在索引樹的葉子節(jié)點位置。)

5.應(yīng)盡量避免在 where 子句中使用!=或>操作符,否則將引擎放棄使用索引而進行全表掃描。

6.in 和 not in 也要慎用,否則會導致全表掃描,如:

select id from t where num in(1,2,3)

對于連續(xù)的數(shù)值,能用 between 就不要用 in 了:

select id from t where num between 1 and 3

7. 應(yīng)盡量避免在where子句中對字段進行函數(shù)操作,這將導致引擎放棄使用索引而進行全表掃描。如:

–name以abc開頭的id

select id from t where substring(name,1,3)='abc'

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

select id from t where num/2=100

應(yīng)改為:

select id from t where num=100*2

總結(jié)

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

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

標簽:珠海 拉薩 徐州 鹽城 移動 沈陽 沈陽 黔東

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL索引失效的幾種情況詳析》,本文關(guān)鍵詞  MySQL,索引,失效,的,幾種,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL索引失效的幾種情況詳析》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL索引失效的幾種情況詳析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 黔江区| 金坛市| 佛坪县| 民县| 确山县| 芷江| 商丘市| 闸北区| 抚顺县| 平湖市| 阿克陶县| 克东县| 武川县| 安康市| 信丰县| 柞水县| 忻州市| 平果县| 驻马店市| 息烽县| 尚志市| 通化市| 安顺市| 桐乡市| 双江| 卫辉市| 台江县| 高要市| 金昌市| 永城市| 当阳市| 尚志市| 屏山县| 华坪县| 朝阳县| 龙南县| 甘洛县| 班戈县| 新密市| 海盐县| 特克斯县|