mysql中语句实行的递次以及查询处置惩罚阶段的剖析【MySQL教程】,mysql
作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:23评论:0
MySQL的语句一共分为11步,如下图所标注的那样,最早实行的老是FROM操纵,末了实行的是LIMIT操纵。个中每个操纵都邑发生一张假造的表,这个假造的表作为一个处置惩罚的输入,只是这些假造的表对用户来说是通明的,然则只要末了一个假造的表才会被作为效果返回。假如没有在语句中指定对应的操纵,那末将会跳过响应的步骤。
(7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (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、FORM: 对FROM的左侧的表和右侧的表盘算笛卡尔积。发生虚表VT1
2、ON: 对虚表VT1举行ON挑选,只要那些相符<join-condition>的行才会被纪录在虚表VT2中。
3、JOIN: 假如指定了OUTER JOIN(比方left join、 right join),那末保存表中未婚配的行就会作为外部行添加到假造表VT2中,发生假造表VT3, rug from子句中包括两个以上的表的话,那末就会对上一个join衔接发生的效果VT3和下一个表反复实行步骤1~3这三个步骤,一向随处置惩罚完一切的表为止。
4、WHERE: 对假造表VT3举行WHERE前提过滤。只要相符<where-condition>的纪录才会被插进去到假造表VT4中。
5、GROUP BY: 依据group by子句中的列,对VT4中的纪录举行分组操纵,发生VT5.
6、CUBE | ROLLUP: 对表VT5举行cube或许rollup操纵,发生表VT6.
7、HAVING: 对假造表VT6运用having过滤,只要相符<having-condition>的纪录才会被 插进去到假造表VT7中。
8、SELECT: 实行select操纵,挑选指定的列,插进去到假造表VT8中。
9、DISTINCT: 对VT8中的纪录举行去重。发生假造表VT9.
10、ORDER BY: 将假造表VT9中的纪录根据<order_by_list>举行排序操纵,发生假造表VT10.
11、LIMIT: 掏出指定行的纪录,发生假造表VT11, 并将效果返回。
相干引荐:
mysql中utf8和utf8mb4之间的区分有哪些?
mysql中group_conca函数的怎样修正其长度限定
mysql大表中count()的用法以及mysql中count()的优化以上就是mysql中语句实行的递次以及查询处置惩罚阶段的剖析的细致内容,更多请关注ki4网别的相干文章!
标签:mysql
相关推荐
- 如何修改mysql的默认时区_MySQL教程,mysql,时区
- mysql数据库如何创建数据表_MySQL教程,mysql,数据表
- linux源码安装mysql5.7_MySQL教程,linux,mysql,mysql5.7
- mysql外键约束怎么写_MySQL教程,mysql,外键约束
- mysql如何设置字符集为UTF8_MySQL教程,mysql,UTF8,字符集
- mysql怎么创建数据库_MySQL教程,mysql,数据库
- 如何查看mysql的日志文件_MySQL教程,mysql,日志文件
- mysql如何删除表中一行数据?_MySQL教程,mysql
- access是数据库管理系统吗_MySQL教程,access,mysql
- mysql修改字段类型有哪些?_MySQL教程,mysql,修改字段
你 发表评论:
欢迎- MySQL教程排行
-
- 1mysql索引介绍_MySQL教程,mysql,索引,介绍
- 2Mysql如何挂盘_MySQL教程,Mysql
- 3mysql实现linux下数据库目录迁移_MySQL教程,mysql,linux,数据库,目录,迁移
- 4mysql中key 、primary key 、unique key 与index区别详解_MySQL教程,mysql
- 5分离数据库和附加数据库的区别_MySQL教程,数据库
- 6关于linux下mysql去除严格模式_MySQL教程,linux
- 7利用mysql生成唯一序号_MySQL教程,mysql
- 8mysql实现大量数据转换为数组_MySQL教程,mysql,数据,转换,数组
- 9linux下搭建mysql主从服务器_MySQL教程,linux,搭建,mysql,主从,服务器
- 最新文章
- 广而告之