`

EXPLAIN语法

阅读更多

 

EXPLAIN table == DESC table == SHOW COLUMNS FORM table

EXPLAIN [EXTENDED|PARTITIONS] SELECT...  --显示该语句将使用哪一个索引以及何时进行多表查询与使用到的表顺序

mysql> EXPLAIN SELECT * FROM BOOKS WHERE BOOK_ID=1;

+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+

| id | select_type | table | type  | possible_keys | key     | key_len | ref   | rows | Extra |

+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+

|  1 | SIMPLE      | BOOKS | const | PRIMARY       | PRIMARY | 4       | const |    1 |       |

+----+-------------+-------+-------+---------------+---------+---------+-------+------+-------+

1 row in set (0.00 sec)


POSSIBLE_KEYS字段列举出了用于查找数据的索引,而KEY字段指示我们实际上用到了XX索引。如果POSSIBLE_KEYS字段的值显示NULL,那么说明没有用到索引。


SELECT_TYPE

SIMPLE 指示简单SELECT语句,没有子查询或者UNION

PRIMARY 当使用子查询时,这是主要的SELECT语句

UNION 当使用子查询时,这是主要的SELECT语句

DEPENDENT UNION 当使用UNION时,这并不是第一个SELECT语句,取决于主查询

UNION RESULT UINON查询

SUBQUERY 子查询中的第一个SELECT语句

DEPENDENT SUBQUERY 子查询中的第一个SELECT语句,取决于主查询

DERIVED 来自于子查询的表

UNCACHEABLE SUBQUERY 指示子查询中的结果不能缓存,因此必须对主查询中的每一行重新评价

UNCACHEABLE UNION 指示子查询的UNION中,结果不能缓存,因此必须对主查询中的每一行重新评价

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Mysql Explain 语法详细解析

    ### MySQL Explain 语法详细解析 #### 一、Explain 的重要性和作用 在数据库管理和维护过程中,查询性能的优化是一项非常关键的任务。特别是在处理大量数据和复杂查询的情况下,查询优化可以显著提高系统的响应...

    从Mysql-EXPLAIN探寻数据库查询优化

    #### 一、EXPLAIN语法 `EXPLAIN`命令的基本语法有两种主要形式: 1. **`EXPLAIN tbl_name`**:与`DESCRIBE tbl_name`相同,用于显示表结构等信息,如字段名、数据类型等。 **示例**: ```sql EXPLAIN jos_...

    mysql 执行计划详解

    在`Explain语法.docx`和`mysqlexplain.ppt`这两个文档中,你将找到更详细的`EXPLAIN`使用教程和案例分析,包括如何解释不同类型的查询和优化策略。通过深入学习这些材料,你将能够更好地理解MySQL执行计划,并有效地...

    mysql5.1中文手册

    EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8....

    mysql数据库面试题.pdf

    SQL优化涉及EXPLAIN语法的使用,理解select_type、type、possible_key、ref、rows和extra等字段的含义,以及避免filesort和如何进行查询优化。对于大型数据集的查询,可能需要使用索引、分区或并行查询策略。 9. *...

    MySQL 5.1中文手冊

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MySQL 5.1参考手册 (中文版)

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    mysql官方中文参考手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MYSQL中文手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL...

    MySQL 5.1参考手册中文版

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL...

    MySQL 5.1官方简体中文参考手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MySQL 5.1参考手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MySQL5.1参考手册官方简体中文版

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    mysql优化利器之explain使用介绍

    一、EXPLAIN语法 在MySQL中,我们可以使用`EXPLAIN`关键字来查看查询执行计划。基本的语法结构如下: ``` EXPLAIN [explain_type] SELECT select_options ``` 这里,`explain_type`可以是`EXTENDED`或`PARTITIONS...

    MySql 5.1 参考手册.chm

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    oracle explain plan总结

    基本语法如下: ```sql EXPLAIN PLAN [SET STATEMENT_ID [=] ] [INTO ] FOR ``` 其中: - `STATEMENT_ID` 是一个可选参数,用于标识执行计划。 - `TABLE_NAME` 是存储执行计划信息的目标表,默认为`plan_table`...

    Explain详解与索引最佳实践.pdf

    3. **查询结构调整**:优化 SQL 语法结构,如使用覆盖索引减少数据读取量。 #### 五、索引最佳实践 1. **创建覆盖索引**:确保索引包含所有查询所需的列,以避免额外的数据读取。 2. **使用最合适的索引类型**:...

Global site tag (gtag.js) - Google Analytics