美文网首页
Mysql笔记2--索引优化

Mysql笔记2--索引优化

作者: 执壹 | 来源:发表于2019-07-15 20:18 被阅读0次

双表

image.png

如果是左连接建立在左表的索引的话,可以换成右连接的查询语句. ---即 保证不是全表的那个表建立索引即可.(左/右连接相反建)

三表/多表

image.png

*避免索引失效

image.png image.png image.png image.png

带头大哥不能死,在staffs表中通过nameAgePos建立了索引, 而前两次的查询中,均没有用到name,只用到了age和pos,因此索引会失效. 为避免失效,必须要用到带头的name!(火车头)

image.png

中间兄弟不能断,这里用到了索引,但是只是用到了name的索引,后面的pos索引没用到,(根据key_len和ref只有一个const可知),违背了最佳左前缀法则的"不跳过索引中间的列"

image.png

百分(%)like加右边

image.png

若非要在字符串两边都使用%,则可以通过覆盖索引的方法来解决索引失效问题.
即,建立的索引,最好和要查询的字段字段,顺序都一样!(注:主键默认使用index级别索引)

image.png

如果这里,name是varchar类型,如果 在查询的时候 不使用单引号,那么mysql会先以int类型去查找,如果查找不到结果,则会在底层隐式的将2000强转为'2000'再去查询,因此在这一过程中会消耗性能
(有计算过程也是会消耗性能)

image.png image.png

口诀

参考

全值匹配我最爱,最左前缀要遵守;
带头大哥不能死,中间兄弟不能断;
索引列上无计算,范围之后全失效;
like百分加右边,覆盖索引不写星*
不等空值还有or,索引失效要少用;
字符串里有引号,SQL高级也不难


image.png image.png

建索引的时候按照c1,c2,c3,c4建,但是查询的时候按照c4~c1查询仍然用到了索引,是因为在Mysql的服务层中有优化器让该语句按照索引查询

image.png

范围之后全失效--->是指mysql自动调优后的范围,而不是按照写的sql顺序
即,这里在调优后顺序应该是c1='a1',and c2='a2' and c3= 'a3' and c4 > 'a4' , 因为c4是索引的最后一个值,索引范围之后全失效的也不需要查了!

image.png image.png image.png image.png

补充group by

相关文章

  • Mysql笔记2--索引优化

    双表 如果是左连接建立在左表的索引的话,可以换成右连接的查询语句. ---即 保证不是全表的那个表建立索引即可.(...

  • MySQL索引知多少

    mysql索引 总结关于mysql的索引,查询优化,SQL技巧等 1 索引类型 B-Tree索引 Hash索引 ...

  • mysql 查询优化

    参考文章:mysql 如何优化left joinmysql 创建索引和删除索引mysql 查看索引 查看字符编码

  • MySQL(4)应用优化

    MySQL应用优化 4.1-MySQL索引优化与设计 索引的作用 快速定位要查找的数据 数据库索引查找 全表扫描 ...

  • Mysql 相关

    MySQL索引 MySQL索引背后的数据结构及算法原理 覆盖索引和回表操作 MySQL性能优化 MySql表分区详...

  • MySQL,必须掌握的6个知识点

    目录 一、索引B+ Tree 原理 MySQL 索引 索引优化 索引的优点 索引的使用条件 二、查询性能优化使用 ...

  • MySQL 笔记 - 索引优化

    巧妙的使用 Explain 看一条 SQL 语句的性能,可以使用explain关键字查看语句性能,这里说一下其中的...

  • MySQL 索引优化笔记

    一般通过explain查看语句执行效果:explain 其中的结果列含义: id: 表示的是SQL语句的执行的顺序...

  • MySQL相关文章索引(2)

    1.MySQL性能优化 对MySQL语句的性能分析与优化 Mysql 监控 Innodb 阻塞状况 MySQL索引...

  • 17.MySQL优化

    《高性能MySQL》——这本书都有的 “字段”优化总结 “索引”优化总结 索引的优化 “查询SQL”优化总结 “引...

网友评论

      本文标题:Mysql笔记2--索引优化

      本文链接:https://www.haomeiwen.com/subject/tjkikctx.html