mysql索引失效的五種情況分析
索引并不是時(shí)時(shí)都會(huì)生效的,比如以下幾種情況,將導(dǎo)致索引失效:
如果條件中有or,即使其中有條件帶索引也不會(huì)使用(這也是為什么盡量少用or的原因)
注意:要想使用or,又想讓索引生效,只能將or條件中的每個(gè)列都加上索引
2.對(duì)于多列索引,不是使用的第一部分,則不會(huì)使用索引
3.like查詢是以%開頭
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ō)明查詢低效
相關(guān)文章
win10下MySQL 8.0登錄Access denied for user‘root’@‘localhost’ (u
這篇文章主要介紹了win10下MySQL 8.0登錄Access denied for user‘root’@‘localhost’ (using password: YES)問(wèn)題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03如何在SQL Server中實(shí)現(xiàn) Limit m,n 的功能
本篇文章是對(duì)在SQL Server中實(shí)現(xiàn) Limit m,n功能的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟記錄
在研發(fā)過(guò)程中可能會(huì)用到將表數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)及數(shù)據(jù)遷移到另外一種數(shù)據(jù)庫(kù)中,比如說(shuō)從mysql中遷移到oracle中,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)遷移到Oracle數(shù)據(jù)庫(kù)的完整步驟,需要的朋友可以參考下2024-06-06MySQL數(shù)據(jù)庫(kù)修復(fù)方法(MyISAM/InnoDB)
這篇文章主要為大家整理了7條修復(fù)MySQL數(shù)據(jù)庫(kù)的方法,當(dāng)簡(jiǎn)單的重啟對(duì)數(shù)據(jù)庫(kù)不起作用,或者有表崩潰時(shí),需要的朋友可以參考下2014-06-06