最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL索引失效的幾種情況小結(jié)

 更新時(shí)間:2023年03月20日 10:31:18   作者:Java-阿旭  
本文主要介紹了MySQL索引失效的幾種情況小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

哪些情況導(dǎo)致的索引失效,下面具體來(lái)了解一下

1.最左前綴原則

在MySQL數(shù)據(jù)庫(kù)中,聯(lián)合索引遵守最左前綴原則,聯(lián)合索引中,在進(jìn)行數(shù)據(jù)檢索時(shí)從索引的最左端開(kāi)始匹配。聯(lián)合索引有多個(gè)列,對(duì)于多列索引,查詢(xún)過(guò)濾條件的字段,必須順序的包含索引中的字段,一旦跳過(guò)某個(gè)字段,則索引后面的字段就會(huì)失效。如果過(guò)濾條件中沒(méi)有使用聯(lián)合索引中的第一個(gè)字段,則這個(gè)索引不會(huì)被使用到。

#創(chuàng)建聯(lián)合索引
CREATE INDEX idx_name_age_tname ON student(`name`,age,tea_name);
#執(zhí)行如下查詢(xún),因?yàn)檫^(guò)濾條件中有聯(lián)合索引的name,age因此用到了索引,過(guò)濾條件name,age位置不影響,只要出現(xiàn)就可以。
EXPLAIN 
SELECT 
  id,
  `name`,
  age 
FROM
  student 
WHERE `name` = '張三' #15*3+2+1(一個(gè)字符占用3字節(jié),15*3,是否為null占1字節(jié),varchar占2字節(jié))
  AND age = 23 # 4+1 (一個(gè)int占4字節(jié),是否為null占1字節(jié))

2. 計(jì)算、函數(shù)使索引失效

在進(jìn)行查詢(xún)的時(shí)候,過(guò)濾條件的索引進(jìn)行計(jì)算或者函數(shù)時(shí),會(huì)導(dǎo)致索引失效。

3. 類(lèi)型轉(zhuǎn)換導(dǎo)致索引失效

查詢(xún)的過(guò)濾條件中,字段類(lèi)型轉(zhuǎn)換(自動(dòng)/手動(dòng)),都會(huì)使所有失效。

4. 不等于(<>或!=)導(dǎo)致索引失效

查詢(xún)的過(guò)濾條件中,過(guò)濾條件的字段出現(xiàn)不等于,會(huì)使索引失效。

5. is not null /is null可能不走索引,也可以走索引

當(dāng)一張數(shù)據(jù)很多,索引列的null值比較少,有值的比較多,is not null不走索引,is null走索引。

當(dāng)一張數(shù)據(jù)很多,索引列的null值比較多,有值的比較少,is not null走索引,is null不走索引。

6. 模糊匹配Like以%開(kāi)頭

在使用LIKE關(guān)鍵字進(jìn)行查詢(xún)的查詢(xún)語(yǔ)句中,如果匹配字符串的第一個(gè)字符為’%‘,索引就不會(huì)起作用。只有’%'不在第一個(gè)位置,索引才會(huì)起作用。

7. OR前后的條件列不是索引,導(dǎo)致索引失效

在查詢(xún)過(guò)濾條件中,OR的前面或者后面的列不是所有,那么導(dǎo)致整個(gè)where過(guò)濾條件的所有索引失效。OR的前面和后面的列必須是索引列,才能生效。因?yàn)镺R就是必須前面和后面的條件都滿(mǎn)足,才能是全滿(mǎn)足。

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

相關(guān)文章

  • Mysql的慢SQL優(yōu)化思路和規(guī)范詳解

    Mysql的慢SQL優(yōu)化思路和規(guī)范詳解

    這篇文章主要介紹了Mysql的慢SQL優(yōu)化思路和規(guī)范詳解,官方介紹索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。更通俗的說(shuō),數(shù)據(jù)庫(kù)索引好比是一本書(shū)前面的目錄,能加快數(shù)據(jù)庫(kù)的查詢(xún)速度,需要的朋友可以參考下
    2023-05-05
  • MySQL IS NULL空值查詢(xún)的實(shí)現(xiàn)

    MySQL IS NULL空值查詢(xún)的實(shí)現(xiàn)

    MySQL 提供了?IS NULL?關(guān)鍵字,用來(lái)判斷字段的值是否為空值,本文主要介紹了MySQL IS NULL空值查詢(xún)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • mysql修改數(shù)據(jù)庫(kù)編碼(數(shù)據(jù)庫(kù)字符集)和表的字符編碼的方法

    mysql修改數(shù)據(jù)庫(kù)編碼(數(shù)據(jù)庫(kù)字符集)和表的字符編碼的方法

    Mysql數(shù)據(jù)庫(kù)是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù),應(yīng)用非常廣泛。以下是修改mysql數(shù)據(jù)庫(kù)的字符編碼的操作過(guò)程和將表的字符編碼轉(zhuǎn)換成utf-8的方法,需要的朋友可以參考下
    2014-03-03
  • MySQL NDB Cluster關(guān)于Nginx stream的負(fù)載均衡配置方式

    MySQL NDB Cluster關(guān)于Nginx stream的負(fù)載均衡配置方式

    這篇文章主要介紹了MySQL NDB Cluster關(guān)于Nginx stream的負(fù)載均衡配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 如何使用MySQL?Explain?分析?SQL?執(zhí)行計(jì)劃

    如何使用MySQL?Explain?分析?SQL?執(zhí)行計(jì)劃

    MySQL?提供的?EXPLAIN?工具能夠幫助我們深入了解查詢(xún)語(yǔ)句的執(zhí)行過(guò)程、索引使用情況以及潛在的性能瓶頸,本文將詳細(xì)介紹如何使用?EXPLAIN?分析?SQL?執(zhí)行計(jì)劃,并探討其中各個(gè)重要字段的含義以及優(yōu)化建議,感興趣的朋友一起看看吧
    2025-04-04
  • Mysql 日期時(shí)間 DATE_FORMAT(date,format)

    Mysql 日期時(shí)間 DATE_FORMAT(date,format)

    Mysql 日期時(shí)間 DATE_FORMAT(date,format) ,需要的朋友可以參考下。
    2010-12-12
  • Navicat使用報(bào)2059錯(cuò)誤的兩種解決方案

    Navicat使用報(bào)2059錯(cuò)誤的兩種解決方案

    Navicat是一款流行的數(shù)據(jù)庫(kù)管理工具,而MySQL則是其中的一種數(shù)據(jù)庫(kù)軟件,下面這篇文章主要給大家介紹了關(guān)于Navicat使用報(bào)2059錯(cuò)誤的兩種解決方案,需要的朋友可以參考下
    2023-11-11
  • MySQL遞歸查詢(xún)的幾種實(shí)現(xiàn)方法

    MySQL遞歸查詢(xún)的幾種實(shí)現(xiàn)方法

    本文主要介紹了MySQL遞歸查詢(xún)的幾種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • MySQL之my.cnf配置文件圖文詳解

    MySQL之my.cnf配置文件圖文詳解

    my.cnf是mysql啟動(dòng)時(shí)加載的配置文件,一般會(huì)放在mysql的安裝目錄中,用戶(hù)也可以放在其他目錄加載,下面這篇文章主要給大家介紹了關(guān)于MySQL之my.cnf配置文件的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 詳解Mysql基礎(chǔ)語(yǔ)法的使用

    詳解Mysql基礎(chǔ)語(yǔ)法的使用

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開(kāi)發(fā),目前屬于 Oracle 旗下產(chǎn)品。這篇文章主要介紹了Mysql基礎(chǔ)語(yǔ)法的使用,需要的朋友可以參考下
    2018-07-07

最新評(píng)論

兴文县| 钟祥市| 三门县| 遂宁市| 思茅市| 武山县| 江川县| 阳西县| 九江市| 甘肃省| 祁东县| 行唐县| 英吉沙县| 辽阳县| 凤山县| 休宁县| 扎囊县| 石棉县| 岐山县| 大丰市| 九龙坡区| 阿克苏市| 安义县| 黔江区| 山丹县| 湟源县| 洪江市| 怀安县| 洪洞县| 伊春市| 丹棱县| 虹口区| 扎鲁特旗| 西平县| 诸城市| 高淳县| 元江| 资中县| 永安市| 哈巴河县| 禹城市|