文章详情页
mySQL之关键字的执行优先级讲解
浏览:15日期:2023-10-09 15:01:01
如下所示:
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之关键字的执行优先级讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. FORM程序中Oracle与Access表的导入和导出2. 什么是Access数据库3. 带你深入了解IBM DB2的通信与连接过程4. Microsoft Office Access设置行高的方法5. Mysql入门系列:MYSQL创建、删除、索引和更改表6. 传甲骨文将增加对MySQL投资与微软竞争7. Oracle灾难防护的关键技术8. 关于Mysql中json数据类型的查询操作指南9. Mysql故障排除:Starting MySQL. ERROR! Manager of pid-file quit without updating file10. 浅析MySQL如何实现事务隔离
排行榜

网公网安备