MySQL语句执行的顺序

本文详细介绍了SQL语句的执行顺序,从FROM到LIMIT的每个步骤,并解释了MyISAM和InnoDB存储引擎的区别。MyISAM使用B+树,索引与数据分开,而InnoDB的B+树叶子节点存储数据,普通索引需两次查询。理解这些对于优化SQL查询至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL语句执行也是要分顺序的哦,下面动力节点小编就来为大家介绍一下。

 

SQL语句执行顺序

(7) SELECT  
(8) DISTINCT <select_list>
(1) FROM  <left table>
(3) <join_type> JOIN <right_talbe>
(2) ON <join_condition>
(4) WHERE <where_condition>
(5) GROUP BY <group_by_list>
(6) HAVING <having_condition>
(9) ORDER BY <order_by_condition>
(10) LIMIT <limit_number>

1.from 对查询指定的表计算笛卡尔积

2.on 按照 join_condition 过滤数据

3.join 添加关联外部表数据

4.where 按照where_condition过滤数据

5.group by 进行分组操作

6.having 按照having_condition过滤数据

7.select 选择指定的列

8.distinct 指定列去重

9.order by 按照order_by_condition排序

10.limit 取出指定记录量

存储引擎

MyISAM引擎,使用B+ 树作为存储引擎。叶子节点存放的是记录地址,索引与数据分开存放。

InnoDB也是B+树存储引擎,叶子节点存储的是数据,普通索引叶子节点存储的是主键和数据。innodb普通索引会查询两遍数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值