MySql查询语句中七个查询命令特征(根据七个查询执行优先级)
一.FROM
    【作用】:

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

【注意】:

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

二.WHERE
 【作用】:

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

【注意】:

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

三.GROUP BY
   【作用】:

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

【注意】:

  1. 多字段分组,首先分组字段执行顺序对于查询结果来说没有任何影响,然后从第二个分组字段开始,操作临时表是上一个分组字段生成的临时表
  2. 如果select操作的临时表是由group by 提供,此时select将遍历group by生成的每一个临时表,在操作具体临时表时,select只会读取指定字段中第一个数据行内容

四.HAVING
【作用】:

  1. 负责将group by 生成的临时表中不满足条件的临时表进行删除

【注意】:

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

五.SELECT
【作用】:

  1. select操作的临时表,由from或者where命令来提供的,select会将指定字段中的所有内容读取出来,会将读取的内容组成一个全新的临时表
  2. select操作的临时表,由group by或者having命令提供的,此时select会将遍历生成的每一个临时表,在操作具体临时表时,select只会读取指定字段中第一个数据行内容

六.ORDER BY
【作用】:

  1. 专门针对select生成的临时表中的数据行进行排序,将排序后的内容组成一个全新的临时表

【注意】:

  1. 如果order by 使用字段名称来进行排序时,字段名可以不出现在select生成的临时表
  2. 如果order by 使用字段顺序进行排序时,索引位置必须在select查询语句中出现

七.LIMIT:
【作用】:

  1. 对临时表中数据行进行截取

二、MySql优化七个查询命令特征相关推荐

  1. mysql的七种查询命令_mysql查询命令详细

    1 --数据库准备 2 --创建一个数据库 3 create database python_test charset=utf84 --使用数据库 5 usepython_test6 --显示当前使用 ...

  2. 四、MySql七个查询命令中哪些命令执行效率过慢

    七个查询命令中哪些命令执行效率过慢: 1.group by:(最慢)   [原因]:group by 在执行是首先要将临时表中的数据进行排序,然后再进行分组 2.order by: [原因]:需要对s ...

  3. mysql慢查询检查流程_简单谈谈MySQL优化利器-慢查询

    慢查询 首先,无论进行何种优化,开启慢查询都算是前置条件.慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标. 检查慢查询是否开启 通过show variables like ' ...

  4. mysql 优化器关联查询_MySQL 查询优化器(二)

    1.6多个查询字段(常量条件) 多个查询字段的查询处理逻辑如下所示: JOIN:prepare阶段 setup_tables():同1.1测试. setup_fields():同1.1测试. setu ...

  5. MySQL优化三:查询性能优化之基础部分

    前面文章中介绍了如何设计最优的库表结构.如何建立最好的索引,这些对于高性能来说是比不可少的.但这些还不够:还需要合理的设计查询.如果查询写得很糟糕,即使库表结构在合理.索引在合适,也无法实现高性能.查 ...

  6. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解

    Mysql慢查询开启 Mysql的查询讯日志是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查 ...

  7. Mysql性能监控常用查询命令

    查询缓存情况 SHOW VARIABLES LIKE '%cache%'; 查询慢查询情况 SHOW VARIABLES LIKE '%slow%'; SHOW GLOBAL STATUS LIKE ...

  8. MySQL数据库 | 数据表-查询命令详细记录

    本篇专门记录数据库增删改查中最常用.花招最多的 查. [文章结构] 一.数据的准备 二.基本的查询功能 三.条件查询 四.查询排序 五.聚合函数 六.分组查询 七.分页查询 八.连接查询 九.子查询 ...

  9. Mysql优化,导致查询不走索引的原因总结

    原文地址:http://blog.csdn.net/m0_37808356/article/details/72526687 最近公司让我做SQL优化的工作(MySql),用explain发了一些问题 ...

最新文章

  1. java得出两个日期之间所有日期
  2. Jsp实现在线影院售票系统
  3. 【剑指offer-Java版】03二维数组中的查找
  4. 用shell脚本监控进程是否存在 不存在则启动的实例
  5. 自己挖的坑自己填--JVM报内存溢出
  6. ARM1176JZF-S/S3C6410 内存地址转换
  7. PHP 实现二分查找
  8. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
  9. 使用复制存储过程执行解决“事务复制中的表大量更新导致无法及时同步”的问题 (转)...
  10. 加密技术,给邮件安全加上一把锁
  11. linux之添加python环境变量
  12. 数据挖掘的步骤有哪些
  13. java随机生成昵称
  14. 基于电商中台架构-商品系统设计(二):类目设计
  15. 零基础转行到IT,怎么选择适合的职业?
  16. 极光Im + layIm 实现后台聊天
  17. 《软件工程》实验个人报告,实验三:软件系统设计1;滁州学院课程
  18. matlab 三维y轴平面图,#如何在excel中绘制三维坐标系?#excel怎么画图平面坐标图...
  19. oracle保留六位小数,oracle 小数保留位数
  20. Redis CRC16校验 1.原理概述

热门文章

  1. php服务器监控windows,用Linux上的cacti去监控windows服务器(图)
  2. linux sa 命令,Linux 常用命令全拼
  3. Spring Boot+Vue从零开始搭建系统(一):项目前端_Vuejs环境搭建
  4. flux读取不到数据_spring-webflux两种开发模式,获取不到使用ajax的post提交的数据?...
  5. ci持续集成工程师前景_不要忽视持续集成(CI)/持续交付(CD)的13个优势
  6. linux webrtc浏览器,WebRTC 浏览器支持
  7. python write非法字符报错_Python爬虫实现的微信公众号文章下载器
  8. 俄罗斯机器人雄鹿_世界上最''倒霉''的机器人:逼真到难以置信,为忍受痛苦而生...
  9. 怎么选?阿里P7 or 副处级干部?
  10. 皮一皮:王大爷尽说些大实话...