MySQL EXPLAIN语句的使用

数据库 MySQL
下面为您介绍的语句是MySQL EXPLAIN语句,该语句可以用作DESCRIBE的一个同义词,下文对该语句的用法作了详细的叙述。

MySQL EXPLAIN语句可以获得关于MySQL如何执行SELECT语句的信息,下面就为您介绍该语句的使用说明,供您参考学习。

EXPLAIN tbl_name
或:EXPLAIN [EXTENDED] SELECT select_options

MySQL EXPLAIN语句可以用作DESCRIBE的一个同义词,或获得关于MySQL如何执行SELECT语句的信息:

EXPLAIN tbl_name是DESCRIBE tbl_name或SHOW COLUMNS FROM tbl_name的一个同义词。·        
如果在SELECT语句前放上关键词EXPLAIN,MySQL将解释它如何处理SELECT,提供有关表如何联接和联接的次序。

借助于MySQL EXPLAIN语句,可以知道什么时候必须为表加入索引以得到一个使用索引来寻找记录的更快的SELECT。如果由于使用不正确的索引出现了问题,应运行ANALYZE TABLE更新表的统计(例如关键字集的势),这样会影响优化器进行的选择。

还可以知道优化器是否以一个***次序联接表。为了强制优化器让一个SELECT语句按照表命名顺序的联接次序,语句应以STRAIGHT_JOIN而不只是SELECT开头。

MySQL EXPLAIN语句为用于SELECT语句中的每个表返回一行信息。表以它们在处理查询过程中将被MySQL读入的顺序被列出。MySQL用一遍扫描多次联接(single-sweep multi-join)的方式解决所有联接。这意味着MySQL从***个表中读一行,然后找到在第二个表中的一个匹配行,然后在第3个表中等等。当所有的表处理完后,它输出选中的列并且返回表清单直到找到一个有更多的匹配行的表。从该表读入下一行并继续处理下一个表。

当使用EXTENDED关键字时,EXPLAIN产生附加信息,可以用SHOW WARNINGS浏览。该信息显示优化器限定SELECT语句中的表和列名,重写并且执行优化规则后SELECT语句是什么样子,并且还可能包括优化过程的其它注解。

 

 

【编辑推荐】

mysql索引的不足

MySql连接字符串的说明

mysql触发器的三个状态

建立MySQL触发器的语法

带您深入了解MySQL ifnull()函数

责任编辑:段燃 来源: 互联网
相关推荐

2010-05-21 16:55:47

MySQL EXPLA

2011-08-18 11:31:06

MySQL性能分析explain

2017-07-27 20:00:47

MySQLEXPLAIN命令

2011-08-18 14:25:26

OracleEXPLAIN PLA

2017-04-07 14:30:26

2021-01-18 07:31:52

MySQL LeetCode查询

2011-08-22 15:05:03

MySQLEXPLAIN

2010-10-08 16:01:17

mysql UPDAT

2023-09-21 10:55:51

MysqlSQL语句

2009-12-10 16:12:07

EXPLAIN

2010-10-08 15:54:34

mysql中case

2022-02-15 07:36:21

SQLEXPLAIN数据库

2024-09-12 15:16:14

2010-05-19 10:37:06

MySQL expla

2020-06-05 09:21:20

MySQL慢查询数据库

2010-10-08 16:49:01

MySQL alter

2020-10-19 19:45:58

MySQL数据库优化

2023-11-10 09:29:30

MySQLExplain

2011-03-31 13:30:08

mysqlLOAD语句

2011-07-22 16:59:30

MySQL数据库嵌套查询
点赞
收藏

51CTO技术栈公众号