MySQL中怎么使用索引
今天就跟大家聊聊有关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中怎么使用索引有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341