美文网首页
两个简单sql的效率差距

两个简单sql的效率差距

作者: lenny611 | 来源:发表于2021-06-22 16:44 被阅读0次

表结构:


image.png

建立的索引语句为:

alter table staffs add index idx_nap(name, age, pos);

两个sql语句执行计划如下:

image.png
type
type显示的是访问类型,访问类型表示我是以何种方式去访问我们的数据,最容易想的是全表扫描,直接暴力的遍历一张表去寻找需要的数据,效率非常低下,访问的类型有很多,效率从最好到最坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
ref
显示索引的哪一列被使用了,如果可能的话,是一个常数
extra
包含额外的信息。
—————————————————————————————————————
1.从type的类型可以看出 age>23的sql效率比pos>23的效率低下
2.从ref可以看出age>23的ref为NULL而pos>23的ref为const
3.从Extra可以看出两个语句都用了索引

sql1:age>23
这是因为走了最左前缀匹配原则,走的是name,age索引,name索引的type是ref,而age的索引的type是range,所以整个sql的tpye是range。
sql2:pos>23
只走了name索引,所以sql的type为ref,效率比sql1高。见下图即可


image.png

相关文章

  • 两个简单sql的效率差距

    表结构: 建立的索引语句为: 两个sql语句执行计划如下: type显示的是访问类型,访问类型表示我是以何种方式去...

  • MyBatis快速入门(17)注解映射方式

    mybatis注解方式就是将SQL语句直接写在接口上,优点是对于需求简单,SQL语句简单的系统,开发效率高,不用写...

  • MySQL 优化

    SQL优化 -- 通过show status命令了解各种sql的执行效率 查看本session的sql执行效率sh...

  • 【0124 读书清单】跃迁8

    001认知差距 不是学不学的差距,是认知效率的差距。认知效率高的人用最少的时间,获得最大的收益;但我们很多时候都在...

  • 【0115读书清单】联机学习

    01.认知效率 认知收益和时间精力之比。 当今时代人与人之间的差距不是学与不学,而是认知效率的差距。 提高认知效率...

  • MySQL SQL语句优化

    1、优化SQL语句的一般步骤 (1)通过SHOW STATUS命令了解各种SQL的执行效率。 (2)定位执行效率较...

  • MySQL

    1. SQL执行顺序 2. SQL执行效率 主要查看指标 type

  • 联机学习

    找到知识源头,提升认知效率。 用提问学习,用联机思考,用输出整合。 不是学不学的差距,是认知效率的差距。 知识源头...

  • SQL语句优化, since 2022-04-22

    (2022.04.22 Fri)SQL语句的优化目的在于提高SQL语句的运行效率。注意SQL优化和数据库优化的区别...

  • 第十二章 使用嵌入式SQL(二)

    第十二章 使用嵌入式SQL(二) 嵌入式SQL代码 简单的SQL语句 可以将简单的SQL语句(单个嵌入式SQL语句...

网友评论

      本文标题:两个简单sql的效率差距

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