首页 >

mysql执行计划分析有哪些,mysql分布式问题

mysql过程类型,mysql和json数据,mysql创建表check约束,mysql查询后五个,debian源安装mysql,mysql分布式问题

mysql执行计划分析有哪些,mysql分布式问题

MySQL通过EXPLAIN SELECT语句来展示查询计划,其中每行数据代表一个操作步骤,MySQL的优化器首先评估各种查询计划,然后选择一种执行效率最高的计划,该计划便是大家看到的执行计划。

EXPLAIN SELECT id, name, age FROM user WHERE age >20;

执行计划结果分为多个部分:id、select_type、table、partitions、type、possible_keys、key、key_len、ref、rows、filtered、Extra。

id

查询中的每一步骤都有一个唯一标识符,id列显示标识符,查询的第一步id为1,一次类推。

select_type

select_type列指示MySQL优化器在SELECT查询中选择了哪种处理方式。常见的取值有SIMPLE、PRIMARY、UNION、UNION RESULT、SUBQUERY、DEPENDENT SUBQUERY等。

table

table列显示MySQL将如何访问表。当查询为单表查询时,此列的值为实际的表名。当查询涉及多个表时,此列的值为MySQL内部使用的临时表名。

partitions

该列值显示的是匹配哪个分区。如果表没有分区,该列值总是NULL。

type

type列指示MySQL优化器在表中找到所需行的方式,它是查询性能关键的指标之一。常见取值有:

  • system
  • const
  • eq_ref
  • ref
  • range
  • index
  • ALL

possible_keys

该列显示查询可能使用索引的列表。通常这些索引与WHERE条件中使用的列有关。

key

该列显示MySQL将使用的索引。如果没有使用索引,该列将显示NULL。

key_len

该列显示MySQL选择使用的索引字段的长度。越短的索引说明性能越好。

ref

该列显示MySQL将使用的索引连接条件,比如使用哪个列或常量与索引键进行比较。

rows

该列显示MySQL预计将检查多少行。

filtered

该列显示查询结果中有多少行符合WHERE条件,即过滤掉不需要的数据行数量。

Extra

Extra列显示关于MySQL执行查询操作的额外信息,可以告诉大家更多的执行信息。

掌握执行计划的基本信息能够帮助大家检测并优化慢查询,提高查询速度。


  • 暂无相关文章