九、提高group by语句的效率

简介: 九、提高group by语句的效率

1、反例

先分组,再过滤

1. select job, avg(salary) from employee 
2. group by job
3. having job ='develop' or job = 'test';

2、正例

先过滤,后分组

1. select job,avg(salary) from employee 
2. where job ='develop' or job = 'test'
3. group by job;

3、理由

可以在执行到该语句前,把不需要的记录过滤掉

目录
相关文章
|
2月前
|
缓存 算法 关系型数据库
写出好的Join语句,前提你得懂这些!
写出好的Join语句,前提你得懂这些!
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
62 0
|
7月前
|
SQL 关系型数据库 MySQL
SELECT * 效率低
SELECT * 效率低
61 0
SELECT * 效率低
|
7月前
|
SQL 测试技术 数据库
`SELECT ... FOR UPDATE` 语句是如何工作的?
`SELECT ... FOR UPDATE` 语句是如何工作的?
201 0
|
7月前
|
SQL 数据库
SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选
HAVING子句被添加到SQL中,因为WHERE关键字不能与聚合函数一起使用。
305 0
【SQL开发实战技巧】系列(六):从执行计划看NOT IN、NOT EXISTS 和 LEFT JOIN效率,记住内外关联条件不要乱放
从执行计划看NOT IN、NOT EXISTS 和 LEFT JOIN效率,还是那就话,别死记网上结论、在使用内外关联时,特别是简写方式时记住关联条件不要乱放!【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL开发实战技巧】系列(六):从执行计划看NOT IN、NOT EXISTS 和 LEFT JOIN效率,记住内外关联条件不要乱放
|
SQL 存储 Oracle
table()函数的使用,提高查询效率
table()函数的使用,提高查询效率
250 0
table()函数的使用,提高查询效率
|
SQL 网络协议 关系型数据库
为什么大家都说 SELECT * 效率低?
无论在工作还是面试中,关于SQL中不要用“SELECT *”,都是大家听烂了的问题,虽说听烂了,但普遍理解还是在很浅的层面,并没有多少人去追根究底,探究其原理。
114 0
为什么大家都说 SELECT * 效率低?
|
SQL 数据挖掘 Python
SQL练习:2(简单)+1(中等),常规题(group by\order by\avg...)
SQL练习:2(简单)+1(中等),常规题(group by\order by\avg...)
207 0
SQL练习:2(简单)+1(中等),常规题(group by\order by\avg...)
下一篇
DataWorks