MySQL索引的使用及注意事项

MySQL索引的使用及注意事项,第1张

概述索引是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高几个数量级,"最优"的索引有时比一个"好的"

是存储引擎用于快速找到记录的一种数据结构。。索引能够轻易将查询性能提高几个数量级,"最优"的索引有时比一个"好的"索引性能要好两个数量级。

索引可以包含一个()或多个列()的值。

想要使用组合索引首先要了解一个原则:最。如果索引包含多个列,那么列的顺序十分重要,因为

最左前缀原则:

比如我们创建一个(A,B,C)组合索引,也就相当与创建了(A),(A,B),(A,B,C)三个索引。

这里需要注意的一点是,

如:

上述语句也使用了索引,使用了(A,B)索引。

但是:

上述语句不能使用索引,不满足最左前缀原则。如果后面再加上 and A = '3' 则可以使用索引。

使用索引时需要注意的地方:

,如果不是按照索引的最左列开始查找,则无法使用索引。

。例如:where A = '1' and C = '3';在这当中,只有 A 能使用索引,C 不能使用索引。

。例如:like 'name%' 可以使用索引,like '%name' 则不能使用索引。

。例如:where A = 'name' and B like 'name%' and C = 'name'; 这里只有 A,B 能使用索引,C不能使用索引。

。例如 where A + 1 = 2; 使用了表达式,不能使用索引。

EXPLAIN 命令:

:select 识别符,这是 select 查询序列号。

:表示查询中 select 类型,简单或复杂。

:连接类型, const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL。一般来说,得保证查询至少达到 range 级别,最好能达到 ref。如果值为 index,则说明 MysqL 使用了索引扫描来做排序。

:指出 MysqL 能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但

:显示 MysqL 在查询中,若没有使用索引,显示为 NulL。

:表示 MysqL 根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数。

总结

以上是内存溢出为你收集整理的MySQL索引的使用及注意事项全部内容,希望文章能够帮你解决MySQL索引的使用及注意事项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1169416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存