推广网站建设花费得多少钱,哪些平台可以发布软文,高端网站制作建设,网站建设的系统流程图id查询或关联查询的顺序。如果没有子查询且只有一个查询#xff0c;则为一个常数 1#xff0c;表示第一步#xff1b;如果有子查询#xff0c;则子查询为 1#xff0c;父查询为 2#xff1b;相同的 id 查询顺序为自上而下#xff1b;如果有子查询#xff0c;不同 id 值…id查询或关联查询的顺序。如果没有子查询且只有一个查询则为一个常数 1表示第一步如果有子查询则子查询为 1父查询为 2相同的 id 查询顺序为自上而下如果有子查询不同 id 值越大越先被执行NULL 为最后一步执行。select_type查询类型。simple查询中不包含子查询或者 UNION。primary查询中若包含任何复杂的子部分最外层查询被标记为 primary。subquery在 SELECT 或 WHERE 列表中包含的子查询。derived在 FROM 列表中包含的子查询。MySql 会递归执行这些子查询并将结果存放在临时表中。union若第二个 SELECT 出现在 UNION 之后则被标记为 union。若 UNION 出现在 FROM 中的子句外层 SELECT 被标记为 derived。union result从 UNION 表中获取结果的 SELECT。dependent unionSELECT 依赖于外层 union 查询中发现的数据。dependent subquerySELECT 依赖于外层 subquery 查询中发现的数据。uncacheable subquerysubquery 的 SELECT 中某些特性阻止结果被缓存。uncacheable unionunion 的 SELECT 中某些特性阻止结果被缓存。table表名。type数据访问、数据操作的类型。一般优化到 range 或 ref 级别。以下类型按性能由高到低列出。system全表只有一行数据。const只有一条符合的数据如主键、唯一索引等。eq_ref唯一性索引扫描。多表关联查询中查询主表中只有一条符合数据如SELECT * FROM t1 JOIN t2 ON t1.id t2.id; 其中 t1 表的 id 为主键或唯一索引。ref非唯一性索引(普通索引)扫描。返回匹配某个单独值的所有行。fulltext全文索引。ref_or_null类似 ref不同的是在检索的时候会额外搜索包含 NULL 值的记录。index_merge查询中使用多个索引。unique_subquery类似 eq_ref不同的是用于 WHERE IN 语句。index_subquery类似 unique_subquery不同的是用于非唯一索引。range只检索给定范围的行使用一个索引来选择行、、、、index全索引扫描。all全表扫描。possible_keys显示可能有利于高效的查询的索引。查询的字段若存在索引则该索引被列出但不一定被被实际查询使用到。key实际使用的索引。如果为 NULL 则没有使用索引。key_len所选索引的字节长度。显示的值为索引字段的最大可能长度并非实际使用的长度。在相同的查询结果下条件精度越低越好条件越少 key_len 越小。ref显示与 key 一起选择行时使用的列或常数。const常量等值查询。NULL无如 。具体的某一列关联查询中被 JOIN 的哪个表中 ON 相关的字段。func条件时用来表达式、函数或条件列发生了内部隐式转换rows扫描的行数。越少越好。Extra执行查询过程中对查询计划的重要补充信息。更多详情参阅https://dev.mysql.com/doc/refman/5.7/en/explain-output.htmlUsing filesort使用了文件排序。排序无法使用到索引时会出现常见于 ORDER BY 和 GROUP BY 语句中。对复合索引中字段 GROUP BY 时一般要将字段之前的字段按序加入分组条件中。Using temporary需要使用临时表存储结果集。常见于 ORDER BY 和 GROUP BY 语句。Using index使用了覆盖索引。查询时无需访问表的数据行通过索引就可获取查询数据即查询的列要被所建索引覆盖。如果同时出现了 Using where 表明索引用来执行索引键值查找如果没有同时出现 Using where 表明索引用来读取数据而非执行查找。distinct优化 distinct 操作在找到第一匹配元组之后即停止找相同值的动作。Using where使用了 WHERE 过滤。Using join buffer使用了 JOIN 缓存。impossible whereWHERE 子句的值总是 false不能用来获取任何数据。select tables optimized away在没有 GROUP BY 子句的情况下基于索引优化 MIN() / MAX() 操作或对于 MyISAM 存储引擎优化 COUNT(*) 操作不必等到执行阶段再进行计算操作查询计划生成阶段即完成优化。