`

sql 执行计划——EXPLAIN之extra

 
阅读更多

1. using index:表示该查询使用了覆盖索引,即该查询只访问了索引就返回了结果,无需访问表,否则就表示访问了表。

例如:表t的c1、c2、c3组成了联合索引,下面的语句就会出现覆盖索引:

select c1, c2 from t where c1 = 1;

 

2. using where:表示mysql服务器从存储引擎里收到数据后,再进行“后过滤”。

后过滤:先读取整行数据,然后再用where语句过滤,符合的留下,否则丢弃。

例如:表t的c1、c2、c3三个列表,其中c1是主键,下面的语句会出现using where:

select c1, c2 from t where c1=1 and c2=2;

因为c1是主键,有索引,c2上没有索引,因此存储引擎会先找到符合c1=1的所有记录,然后通过c2=2过滤符合条件的记录。

 

3. using temporary:表示使用了临时表。

一般在做聚合操作是会用到,例如:distinct等。

 

4. using filesort:表示排序没有使用索引。

因为索引是已经排好序的,如果排序字段是索引,则直接按照索引顺序返回,否则就会出现 using filesort,提示要进行索引优化了。

因此,对于没有创建索引的表,如果有order by操作,则会出现using filesort。

 

 

 

 

 

分享到:
评论

相关推荐

    106 透彻研究通过explain命令得到的SQL执行计划(7).pdf

    在研究SQL语句的执行计划时,"explain命令"是一个非常重要的工具。通过explain命令可以得到SQL语句的执行计划,从而帮助我们了解SQL语句是如何被执行的。执行计划里面包含了多个字段,这些字段共同描述了查询的各个...

    100 透彻研究通过explain命令得到的SQL执行计划(1).pdf

    本文将详细探讨通过explain命令获得的SQL执行计划中包含的各种元素,以便于理解每个部分所代表的具体含义。 首先,当运行explain命令之后,你会得到一个执行计划,这个计划中包含了多个字段,它们分别是id、select_...

    SQL优化和SQL执行分析工具Explain的使用详解和示例

    Explain工具是MySQL数据库提供的用于分析SQL执行计划的一种工具。通过Explain,我们可以在不执行SQL的情况下获取到关于SQL执行方式的信息,这对于理解和优化SQL查询非常有帮助。 #### 三、Explain基本使用方法 ...

    102 透彻研究通过explain命令得到的SQL执行计划(3).pdf

    总而言之,文档内容通过具体的例子深入分析了explain命令得到的SQL执行计划,帮助我们理解了不同类型的查询(如子查询和union操作)对执行计划的影响,以及如何从执行计划中获取信息来优化查询。这些知识点对于...

    SQL语句性能分析之explain

    这将会返回一系列关于查询执行计划的信息,帮助我们了解MySQL如何执行此查询。 **结果解读** - **id**: 表示此次查询的唯一标识符。每个`SELECT`子句都有一个递增的数字作为标识符。 - **select_type**: 描述了...

    104 透彻研究通过explain命令得到的SQL执行计划(5).pdf

    通过EXPLAIN命令我们可以得到SQL语句的执行计划,这对于理解数据库对查询的优化策略以及定位潜在性能问题非常有帮助。 在执行计划中,有两个重要的字段:select_type和type。Select_type标识了SQL语句中各个SELECT...

    获取SQL语句的执行计划v1

    本文档详细介绍了几种不同的方法来获取SQL语句的执行计划,包括使用autotrace、EXPLAIN PLAN以及DBMS_XPLAN.DISPLAY_CURSOR等。 #### 方法1:使用autotrace查看执行计划 **配置使用autotrace** 为了能够使用...

    MySQL SQL执行计划分析与优化方案.pptx

    在 MySQL 中,可以使用 EXPLAIN 语句来查看 SQL 语句的执行计划。EXPLAIN 语句可以返回执行计划信息,包括执行类型、可能的索引、实际使用的索引、扫描的行数、过滤率等。 例如,以下是一个简单的 SQL 语句的执行...

    通过分析SQL语句的执行计划优化SQL(总结)

    在不同的数据库系统中,如MySQL、Oracle、SQL Server等,都有相应的命令或工具用于查看SQL语句的执行计划,例如SQL Server的`SET SHOWPLAN_ALL`或`SET SHOWPLAN_TEXT`,Oracle的`EXPLAIN PLAN`。 4. **执行计划的...

    105 透彻研究通过explain命令得到的SQL执行计划(6).pdf

    在数据库管理和优化中,通过EXPLAIN命令获取的SQL执行计划是数据库性能分析和SQL语句优化的重要依据。本篇详细讲解了EXPLAIN命令输出结果中的几个关键字段,包括possible_keys、key、key_len和ref,这些字段共同决定...

    101 透彻研究通过explain命令得到的SQL执行计划(2).pdf

    本文档深入解析了如何使用EXPLAIN命令来分析SQL语句的执行计划,特别关注了MySQL数据库管理系统中的查询优化技术。通过执行EXPLAIN命令,我们可以看到查询优化器如何分析、评估和选择执行SQL语句的最有效方式。文档...

    行业-100 透彻研究通过explain命令得到的SQL执行计划(1).rar

    本篇文章将深入探讨通过`EXPLAIN`命令获取的SQL执行计划,并结合实际案例进行详细解析。 一、SQL执行计划的基础概念 SQL执行计划是数据库管理系统在运行SQL语句前预估的执行步骤和策略。它展示了数据如何被检索,...

    oracle怎么查看执行计划

    同样,与EXPLAIN PLAN相比,AUTOTRACE不仅展示了执行计划,还执行了SQL语句,从而能够提供更加准确的统计信息。 #### 准备工作 为了使用AUTOTRACE,需要进行以下准备工作: 1. **创建PLAN_TABLE** - 每个需要运行...

    SQL执行计划之sql_trace

    ### SQL执行计划之sql_trace详解 #### 一、SQL Trace简介 SQL Trace 是 Oracle 提供的一种强大工具,用于记录 SQL 语句的执行过程。它能够帮助数据库管理员和开发人员详细了解 SQL 语句是如何被 Oracle 数据库处理...

    使用plsql查看执行计划

    在PL/SQL中查看执行计划,可以使用`EXPLAIN PLAN`语句或直接在开发工具如PL/SQL Developer中运行SQL并查看其执行计划。例如,假设我们有一个未对`Input_time`字段建立索引的表`tb_merp_schedul_log`,并执行了一个...

    107 透彻研究通过explain命令得到的SQL执行计划(8).pdf

    根据文档的内容,我们可以了解关于MySQL中explain命令使用和SQL执行计划的深入知识。explain命令是用于查询语句优化的重要工具,它能够显示SQL语句的执行计划,帮助数据库开发者或者优化者了解MySQL是如何执行SQL...

Global site tag (gtag.js) - Google Analytics