MySQL高级——Explain信息中id字段解释

本文详细解析了MySQL查询中id字段的作用,它指示了查询执行的顺序。当id相同,执行顺序从上至下;id不同且为子查询时,id值越大,优先级越高,先执行。在id相同不同组合中,相同id组内从上到下执行,不同id组则按值大小决定执行顺序。了解这一原则有助于优化SQL查询性能。

一、id字段解释

  • select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序

二、id字段的三种情况

  • id相同,执行顺序由上至下

    EXPLAIN 
    SELECT 
       t2.* 
    FROM  
       t1,t2,t3
    WHERE 
       t1.`id` =t2.`id` AND t2.`id` =t3.`id`
    

    在这里插入图片描述

  • id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行

    EXPLAIN SELECT t2.* 
    FROM t2
    WHERE t2.id=(SELECT t1.id 
    	     FROM t1 
    	     WHERE t1.id =(
    			  SELECT id FROM t3
    			  )
    	     )
       
    

    在这里插入图片描述

  • id相同不同,同时存在
    注:id如果相同,可以认为是一组,从上往下顺序执行;
    在所有组中,id值越大,优先级越高,越先执行。

    EXPLAIN SELECT t2.id FROM t2,(
    SELECT t3.id FROM t3 
    ) s3
    WHERE s3.id = t2.id
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小志的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值