MySQL explain 详解

MySQL的EXPLAIN关键字用于分析查询优化过程,通过它我们可以了解查询执行计划,包括SELECT类型、表的访问方式、索引使用等。本文详细解释了EXPLAIN的主要列,如id、select_type、table、type等,帮助开发者优化查询性能。
摘要由CSDN通过智能技术生成

MySQL explain 详解

每个客户端都会在服务器进程中拥有一个线程。在MySQL5.5中更新了API,支持线程池插件,可以使用池中少量的线程来服务大量的连接

优化

MySQL会解析查询,并创建内部数据结构,然后对其进行优化(重写查询、决定表的读取顺序、选择合适的索引),MySQL提供了了explain关键字来判断优化过程的各个因素。作为程序员,也可以根据这个关键字来判断出自己写出的select是否合理。

explain 详解 (只包含了对主要列进行解释)

  • id:标识SELECT所属的行,按照从大到小执行,只有复杂查询时,id才会存在多个。(复杂查询:包含有子查询,union查询)

  • select_type:标识是简单还是复杂查询,如果是复杂查询会标识出是哪种复杂查询。每种复杂查询标识如下:
    1、SIMPLE:查询不包括子查询和UNION
    2、PRIMARY:查询有子查询,最外层标记为PRIMARY
    3、SUBQUERY:select列表中包含有select。如:

    select a,(select b from t) from t1
    

    其中select b from t 为SUBQUERY。

    4、DERIVED:包含在from子局中的select。如:

    select c.a from (select a from t) as c
    

    其中select a from t&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值