MySQL优化查询之分析查询语句
2018-03-10 12:03
936 查看
通过查询语句的分析,可以了解查询语句执行的情况,找出查询语句执行的瓶颈,从而进行优化.
可以通过explain语句和describe语句,进行分析查询语句.
{EXPLAIN | DESCRIBE | DESC} [explain_type] {explainable_stmt | FOR CONNECTION connection_id}
explain_type:
{ EXTENDED | PARTITIONS | FORMAT = format_name }
format_name:
{ TRADITIONAL | JSON }
explainable_stmt:
{ SELECT statement | DELETE statement | INSERT statement | REPLACE statement | UPDATE statement }
The DESCRIBE and EXPLAIN statements are synonyms. In practice, the DESCRIBE keyword is more often used to obtain information about table structure, whereas EXPLAIN is used to obtain a query execution plan (that is, an explanation of how MySQL would execute a query).
DESCRIBE和EXPLAIN语句是同义词。 实际上,DESCRIBE关键字通常用于获取关于表结构的信息,而EXPLAIN用于获取查询执行计划(也就是说MySQL将如何执行查询)。
查询结果:
查询结果:
查询结果解释:
id:select的查询序列号
select_type:select语句类型
table:查询的表名
type:表的连接类型
possible_keys:列出使用那个索引可以找到行,值是null表示没有相关的索引
key:查询中实际使用的索引,值是null表示没有选择索引
key_len:所选择的索引字段的长度(按字节计算),值是null表示长度是null
ref:与索引一起查询时使用的列或常数
rows:在表中进行查询时必须检查的行数
Extra:处理查询时的详细信息
可以通过explain语句和describe语句,进行分析查询语句.
EXPLAIN关键字和DESCRIBE关键字
{EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild]{EXPLAIN | DESCRIBE | DESC} [explain_type] {explainable_stmt | FOR CONNECTION connection_id}
explain_type:
{ EXTENDED | PARTITIONS | FORMAT = format_name }
format_name:
{ TRADITIONAL | JSON }
explainable_stmt:
{ SELECT statement | DELETE statement | INSERT statement | REPLACE statement | UPDATE statement }
The DESCRIBE and EXPLAIN statements are synonyms. In practice, the DESCRIBE keyword is more often used to obtain information about table structure, whereas EXPLAIN is used to obtain a query execution plan (that is, an explanation of how MySQL would execute a query).
DESCRIBE和EXPLAIN语句是同义词。 实际上,DESCRIBE关键字通常用于获取关于表结构的信息,而EXPLAIN用于获取查询执行计划(也就是说MySQL将如何执行查询)。
实例
EXPLAIN t; # 两个语句查询效果相同 DESCRIBE t;
查询结果:
EXPLAIN SELECT * FROM t; # 两个语句查询效果相同 DESCRIBE SELECT * FROM t;
查询结果:
查询结果解释:
id:select的查询序列号
select_type:select语句类型
table:查询的表名
type:表的连接类型
possible_keys:列出使用那个索引可以找到行,值是null表示没有相关的索引
key:查询中实际使用的索引,值是null表示没有选择索引
key_len:所选择的索引字段的长度(按字节计算),值是null表示长度是null
ref:与索引一起查询时使用的列或常数
rows:在表中进行查询时必须检查的行数
Extra:处理查询时的详细信息
相关文章推荐
- 【MySql性能优化二】利用explain进行查询和分析sql语句
- 一个优化MySQL查询操作的具体案例分析
- 如何分析mysql的查询语句
- MySQL优化 - 性能分析与查询优化
- Mysql 多表联合查询效率分析及优化
- mysql性能优化-慢查询分析、优化索引和配置
- mysql优化SELECT语句和其它查询
- MySQL中优化sql语句查询常用的30种方法
- mysql性能优化-慢查询分析、优化索引和配置
- mysql性能优化-慢查询分析、优化索引和配置
- MySql语句查询优化
- MySQL查询语句优化
- MySQL_explain关键字分析查询语句
- mysql性能优化-慢查询分析、优化索引和配置
- mysql limit查询优化分析
- MySQL查询优化器源码分析--多表连接优化算法之二,find_best(),搜索表之间的各种组合以得到最优的查询计划
- 用MySql的查询分析语法explain来优化查询和索引
- MySQL 使用explain分析sql语句的查询效率(一)
- Mysql 多表联合查询效率分析及优化
- mysql性能优化-慢查询分析、优化索引和配置