您的位置:首页 > 财经 > 金融 > 手机兼职赚钱_网页设计与制作教程教科书_58同城安居客_新浪体育nba

手机兼职赚钱_网页设计与制作教程教科书_58同城安居客_新浪体育nba

2025/1/2 23:57:58 来源:https://blog.csdn.net/weixin_42923363/article/details/142911481  浏览:    关键词:手机兼职赚钱_网页设计与制作教程教科书_58同城安居客_新浪体育nba
手机兼职赚钱_网页设计与制作教程教科书_58同城安居客_新浪体育nba

1、id

id不是唯一标识,是执行的优先级,id越大,优先级越高。id如果想等,谁在前面谁先执行

2、select_type:

simple:简单查询,不包含子查询和union
primary:复杂查询中最外层的select
subquery:包含在select中的子查询(不在from中)

derived:包含在from子句中的查询。Mysql会将结果放在一个临时表中,也称为派生表(derived的英文含义)

3、type

这一列表示关联类型或者访问类型,即mysql决定如何查找表的行,查找数据行记录的大概范围

依次从最优到最差分别为:system>const>eq_ref>ref>range>index>all(全表扫描)

一般来说,要保证达到range级别,最好达到ref

NULL:mysql能够在优化节点分解查询语句,在执行节点用不着在访问表或索引。例如:

要在执行时访问表:

1、const和system

mysql能对查询的某些部分进行优化并转为一个常量(show warnings可以查看),用于primary key或者unique key的所有列和常数比较时。表最多有一个匹配行,读取一次,速度比较快。其中system时const的特例,表中只有一条元素匹配时为system

2、eq_ref

primary_key或者unique_key索引的所有部分被连接使用,最多返回一条符合条件的记录。

3、ref

ref不使用唯一索引,而使用普通索引或者唯一索引的部分前缀,索引要和某个值比较,可能会找到多个符合条件的行。

1、select查询,name是普通索引

2、关联表查询

        idx_film_actor_id是film_id和actor_id的联合索引,这里使用到了filme_actor的左边前缀fim_id部分。

3、range

范围扫描通常在in(),between,等操作中,使用一个索引来检索给定范围的行。

4、index

扫描全索引就能得到结果,一般是扫描某一二级索引,这种扫描不会从索引的根节点开始快速查找,而实直接对二级索引的叶子节点遍历和扫描,速度较慢,这种查询一般是覆盖索引,二级索引一般比较小,比all快

5、all

全表扫描,扫描聚簇索引的所有叶子节点

4、posiable_key,key

分别代表sql在分析时可能使用的索引和实际使用的索引。

5、key_len

显示的是mysql在索引中使用的字节数,通过这个数值可以算出具体使用了索引中的哪些列

计算规则如下:

  • 字符串
    • char(n):n代表长度
    • varchar(n):如果是utf-8,长度为3n+2,加的2字节用来存储字符串长度
  • 数值类型
    • tinyint:1字节
    • smallint:2字节
    • int:4字节
    • bigint:8字节
  • 时间类型
    • date:3字节
    • datetime:4字节
    • timestamp:4字节
  • 如果字段允许为null,需要1个字节记录是否为null

索引的最大长度为768字节,当字符串过长时,mysql会做一个类似做一个左缀索引的处理,将前半部分的字符提取出来左索引

6、Extra列

  • Using index:使用覆盖索引
    • 覆盖索引定义:mysql执行计划explain结果中的key有使用索引,如果select后面查询的字段都可以从这个索引的树中获取,一般可以说用到了覆盖索引,extra里一般都有using index;覆盖索引一般针对的是辅助索引,整个查询结果只通过辅助索引就能拿到结果;不需要通过辅助索引树找到主键,再通过主键去主键索引树里获取其它字段
  • Using where:使用where语句来处理结果,并且查询的列并未被索引覆盖
  • Using index condition:查询的列不完全被索引覆盖,where条件时一个前导列的范围
  • Using temporary: mysql需要创建一张临时表来处理查询。出现这种情况一般需要优化,首先使用索引优化
  • Using filesort:将用外部排序而不是索引排序,数据较小时从内存排序,否则需要在磁盘完成排序。这种情况下一般也是要考虑使用索引来优化的。
  • Select tables optimized away:使用某些聚合函数(比如 max、min)来访问存在索引的某个字段

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com