`

sql 执行计划——EXPLAIN之type

 
阅读更多

explain结果中的type:

1. const:查询结果中只有1条记录匹配(不包括使用limit 1这种命令),它用于用常量匹配主键或唯一索引。其中,system是const的特例。

例如:SELECT * from rm_member where member_id = '0100809300';

说明:rm_member表中member_id是主键(下同)。

 

2. eq_ref:唯一索引查询。它用于多表连接查询时,匹配被关联的表(即前表)的主键或唯一索引的所有部分(而不是部分)。

例如:SELECT * from rm_member m, rm_member_tag t where m.member_id = t.member_id LIMIT 100;

 

3.ref:非唯一索引查询。它用于匹配被关联的表的主键或唯一索引的前缀(注意是前缀),或者非主键和唯一索引,即不能基于关键字匹配出1条记录。

例如: SELECT * from rm_member where employee_id = '14073034';

说明:employee_id列上创建了非唯一索引。

 

4.range:范围查询,例如:>、<、>=、<=、between and、or等范围查询。 

 例如:  SELECT * from rm_member where employee_id = '14073034' or employee_id = '15041071';

 

5.index:它表示索引被全部扫描,但是没有扫描全部数据。

 

6.all:它表示全表扫描。

 

 

分享到:
评论

相关推荐

    SQL语句性能分析之explain

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

    面试突击——数据库篇

    接下来,使用`EXPLAIN`分析SQL执行计划。`type`字段指示查询如何使用索引,如`ALL`表示全表扫描,需要优化。`extra`字段中的`Using filesort`和`Using temporary`分别表示需要外部排序和使用临时表,这些通常表示...

    Mysql Explain 详细介绍

    +—-+————-+——-+——-+——————-+———+———+——-+——+——-+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +—-+————-+——-+——-+——...

    mysql性能优化

    ### MySQL性能优化——详解EXPLAIN及SQL执行计划 #### 一、引言 在数据库管理领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化一直是DBA和开发人员关注的重点之一。通过合理的配置与优化策略,...

    Mysql笔记-fxf

    Explain是MySQL提供的一个用于展示SQL执行计划的工具,可以帮助开发者诊断查询性能问题。 - **id**:标识号,表示查询的顺序,相同的id值表示一组同时执行的操作,id值越大,优先级越高。 - **select_type**:查询...

    SQL使用规范

    - **使用EXPLAIN PLAN**:通过EXPLAIN PLAN分析执行计划来识别性能瓶颈。 - **分区表**:合理使用分区表来提高大数据量下的查询速度。 - **避免使用NOT IN和NOT EXISTS**:使用NOT IN和NOT EXISTS可能会导致全表...

    数据库知识__SQL语句大全___笔试能用的

    ### 数据库知识——SQL语句大全 #### 一、引言 本文档旨在全面介绍SQL语言的基本知识及其在实际工作中的应用,特别是针对面试或笔试过程中可能会遇到的问题进行了详细的整理与归纳。对于初学者而言,这是一份非常有...

    圣达进销存odbc数据库建表语句

    通过上述内容我们可以了解到,“圣达进销存odbc数据库建表语句”主要涉及到了两张表的创建——`input_type` 和 `input_ware`,它们分别用于存储商品类型信息和具体的入库详情。通过对这些表结构的理解,我们可以更好...

    快速学习MySQL索引的入门超级教程

    - `EXPLAIN`是MySQL提供的一种分析SQL查询执行计划的工具。通过在查询语句前加上`EXPLAIN`,可以查看MySQL如何使用索引来处理`SELECT`语句,包括哪些表被访问、连接顺序、使用的索引等信息。 - 结果中的`id`表示...

    MySQL学习笔记(2)——索引

    理解索引性能可以通过`EXPLAIN`语句进行分析,它提供了一种可视化查询执行计划的方式,包括查询的执行顺序、查询类型、使用的索引等信息。例如,`type`字段表示查询使用了哪种类型,`const`表示常量连接,通常出现在...

    MySQL查询性能优化

    四、explain 语句的 type 列反应了访问类型,访问类型有全表,范围,唯一索引等。在评估查询开销的时候,要考虑一下从表中找到某一行数据的成本, MySQL 有好几种访问方式可以查找并返回一行结果,有些访问方式可能...

Global site tag (gtag.js) - Google Analytics