SQL优化-查询语句特征(1)

From

作用:

  1. 将硬盘上的表文件加载到内存中,生成一个全新的临时表

注意
1.在一个查询语句中,第一个执行的命令永远是from
2.from 定位的是内存中的一个临时表,这个临时表必须手动指定表名

where

作用:
1.where命令操作的油from命令生成的临时表
2. where命令循环遍历当前临时表中每一个数据行 将满足条件的数据行保存到一个全新的临时表

注意
由于where 命令每次只是操作一个数据行,因此 在 where使用过程中,是无法使用聚合函数作为判断条件

Group by

作用:
1.首先对临时表中的数据进行一次排序处理
2.然后将具有相同特征的数据行 保存到同一个临时表中

注意
1.多字段分组 首先,分组字段执行的顺序对于查询结果来说是没有任何影响的,从第二个分组字段开始,操作的临时表是上一个分组字段所生成的临时表(每进行一次分组字段 就会 在内存中产生一个新表)
如果select 操作临时表是由group by 提供的,此时select 将取便利group by 生成的每一个临时表 。在操作具体的临时表时,select只会去读取指定字段中的第一个数据行的内容

HAVING

作用:
负责将group by 所生成的临时表中不满足条件的临时表进行删除处理

注意
having 命令不能独立出现,只能出现在group by 后 having 每次操作的是一个临时表,因此选择的判断条件应该来自于聚合函数

SELECT

作用:
1.如果select 操作的临时表,由from命令或者where命令来提供的。 select 将指定字段中所有内容 读取出来 将读取的内容来组成一个全新的临时表
2.select 操作临时表,如果select 操作临时表是由group by && Having提供的,此时select 将取便利group by 生成的每一个临时表 。在操作具体的临时表时,select只会去读取指定字段中的第一个数据行的内容

ORDER BY

作用
专门针对select 生成的临时表中的数据行进行排序 将排序的内容生成全新的临时表
注意
如果order by使用字段名进行排序时,字段名可以不出现在select所生成的临时表中 如果order by使用字段顺序进行排序时,索引位置必须在select 查询语句中出现

limit (mysql 特有)

作用 对临时表中的数据行进行截取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值