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

Mysql中SQL語(yǔ)句不使用索引的情況

 更新時(shí)間:2019年03月20日 11:35:14   作者:CODETC  
今天小編就為大家分享一篇關(guān)于Mysql中SQL語(yǔ)句不使用索引的情況,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

MySQL查詢不使用索引匯總

眾所周知,增加索引是提高查詢速度的有效途徑,但是很多時(shí)候,即使增加了索引,查詢?nèi)匀徊皇褂盟饕?,這種情況嚴(yán)重影響性能,這里就簡(jiǎn)單總結(jié)幾條MySQL不使用索引的情況

如果MySQL估計(jì)使用索引比全表掃描更慢,則不使用索引。例如,如果列key均勻分布在1和100之間,下面的查詢使用索引就不是很好:select * from table_name where key>1 and key<90;

如果使用MEMORY/HEAP表,并且where條件中不使用“=”進(jìn)行索引列,那么不會(huì)用到索引,head表只有在“=”的條件下才會(huì)使用索引

用or分隔開的條件,如果or前的條件中的列有索引,而后面的列沒(méi)有索引,那么涉及到的索引都不會(huì)被用到,例如:select * from table_name where key1='a' or key2='b';如果在key1上有索引而在key2上沒(méi)有索引,則該查詢也不會(huì)走索引

復(fù)合索引,如果索引列不是復(fù)合索引的第一部分,則不使用索引(即不符合最左前綴),例如,復(fù)合索引為(key1,key2),則查詢select * from table_name where key2='b';將不會(huì)使用索引

如果like是以‘%'開始的,則該列上的索引不會(huì)被使用。例如select * from table_name where key1 like '%a';該查詢即使key1上存在索引,也不會(huì)被使用

如果列為字符串,則where條件中必須將字符常量值加引號(hào),否則即使該列上存在索引,也不會(huì)被使用。例如,select * from table_name where key1=1;如果key1列保存的是字符串,即使key1上有索引,也不會(huì)被使用。

從上面可以看出,即使我們建立了索引,也不一定會(huì)被使用,那么我們?nèi)绾沃牢覀兯饕氖褂们闆r呢??在MySQL中,有Handler_read_keyHandler_read_rnd_key兩個(gè)變量,如果Handler_read_key值很高而Handler_read_rnd_key的值很低,則表明索引經(jīng)常不被使用,應(yīng)該重新考慮建立索引??梢酝ㄟ^(guò):show status like 'Handler_read%'來(lái)查看著連個(gè)參數(shù)的值。

關(guān)于如何正確創(chuàng)建Mysql的索引,請(qǐng)參考怎樣正確創(chuàng)建MySQL索引的方法詳解;眾所周知,數(shù)據(jù)表索引可以提高數(shù)據(jù)的檢索效率,也可以降低數(shù)據(jù)庫(kù)的IO成本,并且索引還可以降低數(shù)據(jù)庫(kù)的排序成本;但索引并不是時(shí)時(shí)都會(huì)生效的,比如以下幾種情況,將導(dǎo)致索引失效:

1.如果條件中有or,即使其中有條件帶索引也不會(huì)使用索引(這也是為什么SQL語(yǔ)句中盡量少用or的原因)

注意:要想使用or,又想讓索引生效,只能將or條件中的每個(gè)列都加上索引。

2.對(duì)于多列索引,不是使用的第一部分,則不會(huì)使用索引。

3.like查詢是以%開頭時(shí)不會(huì)使用索引。

4.如果列類型是字符串,那一定要在條件中將數(shù)據(jù)使用引號(hào)引用起來(lái),否則不使用索引。

5.如果 mysql 估計(jì)使用全表掃描要比使用索引快,則不使用索引。

此外,查看索引的使用情況

show status like 'Handler_read%';

大家可以注意:

handler_read_key:這個(gè)值越高越好,越高表示使用索引查詢到的次數(shù)。

handler_read_rnd_next:這個(gè)值越高,說(shuō)明查詢?cè)降托А?/p>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • MySQL升級(jí)PostgreSQL遇到的一些常見(jiàn)問(wèn)題及解決方案

    MySQL升級(jí)PostgreSQL遇到的一些常見(jiàn)問(wèn)題及解決方案

    MySQL是一款性能優(yōu)越、數(shù)據(jù)可靠性高的數(shù)據(jù)庫(kù)軟件,然而為了保證其長(zhǎng)期有效運(yùn)行,數(shù)據(jù)庫(kù)升級(jí)是非常重要的,下面這篇文章主要給大家介紹了關(guān)于MySQL升級(jí)PostgreSQL遇到的一些常見(jiàn)問(wèn)題及解決方案的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問(wèn)題

    MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問(wèn)題

    MYSQL中SUM字段按條件統(tǒng)計(jì)使用IF函數(shù),具體實(shí)現(xiàn)代碼如下,感興趣的朋友不要錯(cuò)過(guò)
    2014-01-01
  • mysql 5.6.21 安裝與配置詳細(xì)步驟

    mysql 5.6.21 安裝與配置詳細(xì)步驟

    這篇文章主要介紹了mysql5.6.21安裝與配置的詳細(xì)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 大幅提升MySQL中InnoDB的全表掃描速度的方法

    大幅提升MySQL中InnoDB的全表掃描速度的方法

    這篇文章主要介紹了大幅提升MySQL中InnoDB的全表掃描速度的方法,作者談到了預(yù)讀取和多次async I/O請(qǐng)求等方法,減小InnoDB對(duì)MySQL速度的影響,需要的朋友可以參考下
    2015-06-06
  • MySQL如何將CSV文件快速導(dǎo)入MySQL中

    MySQL如何將CSV文件快速導(dǎo)入MySQL中

    有時(shí)候我們可能會(huì)把CSV中的數(shù)據(jù)導(dǎo)入到某個(gè)數(shù)據(jù)庫(kù)的表中,比如做報(bào)表分析的時(shí)候,下面這篇文章主要給大家介紹了關(guān)于MySQL如何將CSV文件快速導(dǎo)入MySQL中的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 一個(gè) 20 秒 SQL 慢查詢優(yōu)化處理方案

    一個(gè) 20 秒 SQL 慢查詢優(yōu)化處理方案

    這篇文章主要分享一個(gè) 20 秒 SQL 慢查詢優(yōu)化的經(jīng)歷與處理方案,頁(yè)面無(wú)法正確獲取數(shù)據(jù),經(jīng)排查原來(lái)是接口調(diào)用超時(shí),而最后發(fā)現(xiàn)是因?yàn)镾QL查詢長(zhǎng)達(dá)到20多秒而導(dǎo)致了問(wèn)題的發(fā)生,下面來(lái)看問(wèn)題具體介紹吧
    2022-01-01
  • mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例

    mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例

    下面小編就為大家?guī)?lái)一篇mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • MySQL 5.7之關(guān)于SQL_MODE的設(shè)置

    MySQL 5.7之關(guān)于SQL_MODE的設(shè)置

    這篇文章主要介紹了MySQL 5.7之關(guān)于SQL_MODE的設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Mysql的MHA高可用及故障切換問(wèn)題小結(jié)

    Mysql的MHA高可用及故障切換問(wèn)題小結(jié)

    MHA是基于MySQL主從復(fù)制的高可用解決方案,通過(guò)自動(dòng)切換到從節(jié)點(diǎn)并提升其為新主,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的高可用和故障恢復(fù),配置包括主從復(fù)制、MHA組件、VIP管理等,通過(guò)配置無(wú)密碼認(rèn)證和測(cè)試連接,可以確保MHA正常運(yùn)行,感興趣的朋友一起看看吧
    2024-12-12
  • 一文搞懂MySQL索引特性(清晰明了)

    一文搞懂MySQL索引特性(清晰明了)

    索引可以提高數(shù)據(jù)庫(kù)的性能,提高一個(gè)海量數(shù)據(jù)的檢索速度,但是插入,更新,刪除的速度相應(yīng)會(huì)降低,下面這篇文章主要給大家介紹了關(guān)于MySQL索引特性的相關(guān)資料,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

安义县| 科尔| 常宁市| 海盐县| 安国市| 项城市| 搜索| 六枝特区| 彭山县| 赣州市| 张家川| 南华县| 吉林市| 靖安县| 乌鲁木齐县| 定边县| 休宁县| 福泉市| 集贤县| 安丘市| 景洪市| 聂荣县| 阳曲县| 长子县| 五大连池市| 平山县| 巴彦县| 枞阳县| 日照市| 弥渡县| 祥云县| 乐都县| 天祝| 铜川市| 怀来县| 南通市| 高碑店市| 临汾市| 石嘴山市| 长治县| 马龙县|