mySQL之关键字的执行优先级讲解

 更新时间:2020年11月10日 12:00:49   作者:Quincy379  
这篇文章主要介绍了mySQL之关键字的执行优先级讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

from 表

where 条件

group by 字段

形成虚拟的表及字段,聚合及字段添加

having 筛选数据

distinct 去重

order by 字段 asc,desc

limit 限制条数

select 罗列记录

先根据where 约束条件 将数据从表中加载到内存,所以where的条件作用在数据之前,然后根据字段进行分组,在内存中形成一张虚拟的表包含字段,

如果此时有聚合函数则先执行聚合函数,并将聚合函数字段也加到虚拟的表中,接着进行having记录筛选,筛选完成后对数据进行去重,排序,限制等操作后进行显示。

补充知识:mysql where条件and的执行顺序从左到右

之前做功能,把三个条件通过md5加密之后得到一个字符串的字段unique_key,把这个字段设置为唯一索引,希望查询的时候通过这个唯一索引来查询,不用分三个条件分别进行查询了,同时使用了replace方法保证相同的三个条件下更新数据的话数据库只会有一条记录。

后来发现列表查询必须要开放这三个条件,于是只好将这个unique_key放到where条件and 的最左边,通过unique_key筛选出来效率也不会差。

mysql的优化方方面面,写的时候要多考虑了。

以上这篇mySQL之关键字的执行优先级讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ubuntu mysql 5.6版本的删除/安装/编码配置文件配置

    ubuntu mysql 5.6版本的删除/安装/编码配置文件配置

    这篇文章主要介绍了ubuntu mysql 5.6版本的删除,安装,编码配置文件配置,需要的朋友可以参考下
    2017-06-06
  • msyql show命令汇总

    msyql show命令汇总

    本篇文章是对msyql中的show命令进行了汇总,需要的朋友参考下
    2013-06-06
  • Mysql添加用户和设置权限的操作方法

    Mysql添加用户和设置权限的操作方法

    这篇文章主要介绍了Mysql添加用户和设置权限的操作方法,主要包括管理用户,权限控制的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • MySQL数据库高可用HA实现小结

    MySQL数据库高可用HA实现小结

    MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中,这篇文章主要介绍了MySQL数据库高可用HA实现,需要的朋友可以参考下
    2022-01-01
  • SQL 日期处理视图创建(常见数据类型查询防范 SQL注入)

    SQL 日期处理视图创建(常见数据类型查询防范 SQL注入)

    这篇文章主要为大家介绍了SQL日期处理和视图创建:常见数据类型、示例查询和防范 SQL 注入方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • LEFT JOIN条件在on后面和在where后面的区别及说明

    LEFT JOIN条件在on后面和在where后面的区别及说明

    这篇文章主要介绍了LEFT JOIN条件在on后面和在where后面的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • MySQL免密登录的几种配置方式小结

    MySQL免密登录的几种配置方式小结

    在日常运维中,为了简化登录操作或提高自动化脚本执行的效率,我们经常需要配置 MySQL 免密登录,MySQL 支持通过多种方式实现免密登录,这样我们就可以避免每次输入密码,本文给大家介绍了MySQL免密登录的几种配置方式,需要的朋友可以参考下
    2024-10-10
  • MySQL字符串转数字的3种方式实例

    MySQL字符串转数字的3种方式实例

    这篇文章主要给大家介绍了关于MySQL字符串转数字的3种方式,在使用mysql中经常遇到要将字符串数字转换成可计算数字,文中给出了详细的代码示例和图文介绍,需要的朋友可以参考下
    2023-08-08
  • MySQL中根据出生日期计算年龄两种方法

    MySQL中根据出生日期计算年龄两种方法

    使用SQL语句计算年龄,在事务处理和日期计算中,较为常见,下面这篇文章主要给大家介绍了关于MySQL中根据出生日期计算年龄的两种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • MySQL错误:You can‘t specify target table ‘xxx‘ for update in FROM clause的解决方案

    MySQL错误:You can‘t specify target table&n

    在编写MySQL的UPDATE或DELETE语句时,如果子查询中直接引用了要操作的目标表,可能会遇到一个常见的错误:You can’t specify target table ‘xxx’ for update in FROM clause,这个错误让许多开发者感到困惑,本文将深入分析其原因,并提供多种解决方案,
    2025-02-02

最新评论