如何创建一个有效的网站构建计划在线平台?
摘要:网站构建计划,在线平台,网站设计师网站,企业网站建设合同版本使用 EXPLAIN 关键字可以模拟优化器来执行SQL查询语句,从而知道MySQL是如何处理我们的SQL语句的。分析出查询语句或是表结构的性能瓶颈。
网站构建计划,在线平台,网站设计师网站,企业网站建设合同版本使用 EXPLAIN 关键字可以模拟优化器来执行SQL查询语句#xff0c;从而知道MySQL是如何处理我们的SQL语句的。分析出查询语句或是表结构的性能瓶颈。
MySQL查询过程 通过explain我们可以获得以下信息#xff1a; 表的读取顺序 数据读取操作的操作类型 哪些索引可以被使用 …使用 EXPLAIN 关键字可以模拟优化器来执行SQL查询语句从而知道MySQL是如何处理我们的SQL语句的。分析出查询语句或是表结构的性能瓶颈。
MySQL查询过程 通过explain我们可以获得以下信息 表的读取顺序 数据读取操作的操作类型 哪些索引可以被使用 哪些索引真正被使用 表的直接引用 每张表的有多少行被优化器查询了
Explain使用方式: explainsql语句, 通过执行explain可以获得sql语句执行的相关信息
explain select * from users;type字段中有哪些常见的值
type字段在 MySQL 官网文档描述如下 The join type. For descriptions of the different types. type字段显示的是连接类型 ( join type表示的是用什么样的方式来获取数据)它描述了找到所需数据所使用的扫描方式, 是较为重要的一个指标。
下面给出各种连接类型,按照从最佳类型到最坏类型进行排序:
-- 完整的连接类型比较多
system const eq_ref ref fulltext ref_or_null index_merge unique_subquery index_subquery range index ALL
-- 简化之后,我们可以只关注一下几种
system const eq_ref ref range index ALL 一般来说,需要保证查询至少达到 range级别,最好能到ref,否则就要就行SQL的优化调整 下面介绍type字段不同值表示的含义:
type类型解释system不进行磁盘IO,查询系统表,仅仅返回一条数据const查找主键索引,最多返回1条或0条数据. 属于精确查找eq_ref查找唯一性索引,返回数据最多一条, 属于精确查找ref查找非唯一性索引,返回匹配某一条件的多条数据,属于精确查找,数据返回可能是多条.range查找某个索引的部分索引,只检索给定范围的行,属于范围查找. 比如: 、 、in 、betweenindex查找所有索引树,比ALL快一些,因为索引文件要比数据文件小.ALL不使用任何索引,直接进行全表扫描
Extra有哪些主要指标各自的含义是什么
Extra 是 EXPLAIN 输出中另外一个很重要的列该列显示MySQL在查询过程中的一些详细信息
extra类型解释Using filesortMySQL中无法利用索引完成的排序操作称为 “文件排序”Using index表示直接访问索引就能够获取到所需要的数据覆盖索引不需要通过索引回表Using index condition搜索条件中虽然出现了索引列但是有部分条件无法使用索引 会根据能用索引的条件先搜索一遍再匹配无法使用索引的条件。Using join buffer使用了连接缓存, 会显示join连接查询时,MySQL选择的查询算法Using temporary表示MySQL需要使用临时表来存储结果集常见于排序和分组查询Using where意味着全表扫描或者在查找使用索引的情况下但是还有查询条件不在索引字段当中
实际使用示例
先解析一条sql语句看出现什么内容
EXPLAIN SELECT s.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.address FROM uchome_space AS s,uchome_spacefield AS f WHERE 1 AND s.groupid0 AND s.uidf.uid
1. id
SELECT识别符。这是SELECT查询序列号。
