今天就跟大家聊聊有关MySQL中怎么使用索引,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
MySQL何时使用索引
对一个键码使用>,>=,=,<,<=,ifnull和between fromtable_namewherekey_part1="1andkey_part2">5;SELECT*FROMtable_nameWHEREkey_part1ISNULL;
当使用不以通配符开始的LIKE
SELECT*FROMtable_nameWHEREkey_part1LIKE'jani%'
在进行联结时从另一个表中提取行时
SELECT*fromt1,t2wheret1.col=t2.key_part
找出指定索引的MAX()或MIN()值
SELECTMIN(key_part2),MAX(key_part2)FROMtable_namewherekey_part1=10
一个键码的前缀使用ORDERBY或GROUPBY
SELECT*FROMfooORDERBYkey_part1,key_part2,key_part3
在所有用在查询中的列是键码的一部分时间
SELECTkey_part3FROMtable_nameWHEREkey_part1=1
MySQL何时不使用索引
如果MySQL能估计出它将可能比扫描整张表还要快时,则不使用索引。例如如果key_part1均匀分布在1和100之间,下列查询中使用索引就不是很好:
SELECT*FROMtable_namewherekey_part1>1andkey_part1<90 如果使用HEAP表且不用=搜索所有键码部分。 在HEAP表上使用ORDERBY。 如果不是用键码第一部分 SELECT*FROMtable_nameWHEREkey_part2=1 如果使用以一个通配符开始的LIKE SELECT*FROMtable_nameWHEREkey_part1LIKE'%jani%' 搜索一个索引而在另一个索引上做ORDERBY SELECT*fromtable_nameWHEREkey_part1=#ORDERBYkey2
看完上述内容,你们对MySQL中怎么使用索引有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。