`
heavenslv
  • 浏览: 82603 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL优化 ----- 优化 GROUP BY

SQL 
阅读更多

提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉.下面两个

查询返回相同结果但第二个明显就快了许多.

低效:

SELECT JOB , AVG(SAL)
FROM EMP
GROUP JOB
HAVING JOB = ‘PRESIDENT’
OR JOB = ‘MANAGER’
 

高效:

SELECT JOB , AVG(SAL)
FROM EMP
WHERE JOB = ‘PRESIDENT’
OR JOB = ‘MANAGER’
GROUP JOB
 
分享到:
评论

相关推荐

    18 SQL优化--其他SQL的优化.doc

    根据提供的文档标题、描述、标签以及部分内容,我们可以深入探讨关于SQL优化的相关知识点,特别是针对MySQL中的表分析、检查、优化以及其他SQL语句的优化策略。 ### 表分析、检查与优化 #### 表分析(Analyze ...

    SQL优化-索引

    ### SQL优化之索引详解 #### 一、SQL概述及分类 SQL,即Structured Query Language,是一种用于管理和处理关系型数据库的标准语言。SQL主要由以下几个部分组成: 1. **数据定义语言(Data Definition Language, ...

    x-pack-sql-jdbc-7.4.2

    7.4.2版本确保了与多种SQL语法的兼容性,包括SELECT、INSERT、UPDATE、DELETE等基础语句,以及JOIN、GROUP BY、HAVING等复杂查询。这使得开发人员能够利用熟悉的SQL语法在Elasticsearch中进行数据操作,而无需学习新...

    如何写出高效率的SQL语句--SQL优化技巧

    如何写出高效率的SQL语句--SQL优化技巧 SQL 优化技巧是提高数据库性能的关键所在。编写高效率的 SQL 语句需要对索引的机制有一定了解,以下是关于索引的知识点: 索引的优点和局限 索引可以提高查询的效率,但会...

    sql-Group-by.rar_oracle

    9. **DISTRIBUTE BY**: 虽然不是标准SQL的一部分,但某些Oracle版本支持DISTRIBUTE BY,它用于并行查询,帮助在多处理器系统上优化数据分布。 通过阅读“sql分组函数使用.txt”,你将能够深入了解如何在Oracle中...

    learn-sql-the-hard-way-笨方法学sql

    - GROUP BY和HAVING子句用于数据分组 - ORDER BY子句进行排序 - DISTINCT关键字去除重复行 3. **聚合函数**(learn-sql-the-hard-waych11.html) - COUNT()计算记录数量 - SUM()求和 - AVG()计算平均值 - ...

    es-sql-site-chrome.zip

    1. **广泛兼容性**:支持多种SQL语法,包括SELECT、JOIN、GROUP BY、HAVING、LIMIT等,几乎涵盖了标准SQL的关键功能。 2. **实时查询**:由于ES的实时特性,所有查询操作都能立即返回结果,无需等待索引刷新。 3. **...

    创意sql--------

    5. **聚合函数新用法**:除了常见的`COUNT()`, `AVG()`, `MIN()`, `MAX()`, `SUM()`,还可以探索如`GROUP_CONCAT()`(MySQL)或`STRING_AGG()`(SQL Server)这样的聚合函数,将多个值组合成单个字符串。 6. **临时...

    sql2000-----chm

    1. **查询语言**:包括SELECT语句,用于从数据库中检索数据,可以使用WHERE子句进行条件过滤,GROUP BY和HAVING子句进行分组和筛选,以及JOIN操作连接多个表。 2. **DML(Data Manipulation Language)**:INSERT...

    sql标准--------------

    3. 数据查询语言(DQL):用于检索数据,最常用的是SELECT语句,可以进行复杂的查询操作,如JOIN、WHERE、GROUP BY、HAVING、ORDER BY等子句。 4. 数据控制语言(DCL):用于控制数据库访问权限和安全性,如GRANT...

    sql优化书籍大全

    合理使用GROUP BY和HAVING,避免在GROUP BY后的列上进行计算。 书中可能会涵盖以下内容: - SQL查询分析:理解执行计划,使用EXPLAIN分析查询的执行路径,找出性能瓶颈。 - 索引原理与优化:包括B树、B+树索引的...

    SqlServer中Group By高级使用--Inner Join分组统计

    在SQL Server数据库管理中,Group By语句是用于对数据进行分组并计算每个组的汇总信息的关键工具。通常,我们使用聚合函数如COUNT、SUM、AVG、MIN和MAX等与Group By一起,以便对特定列进行分析。然而,当我们需要在...

    Python库 | sqlbuilder-0.7.4.2.tar.gz

    除了基本的查询,sqlbuilder还支持JOIN、GROUP BY、HAVING、ORDER BY等高级SQL特性。对于数据更新和删除操作,如UPDATE和DELETE,同样可以方便地通过库提供的API来实现。此外,sqlbuilder还具备参数绑定功能,能有效...

    SQL:SQL-92,SQL-99和SQL-2003的BNF语法

    例如,BNF可能会描述如何构建一个SELECT语句,包括其组成部分(如`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`等)以及这些部分如何组合。 在学习和应用这些SQL标准时,理解BNF语法对于编写正确和高效的SQL...

    SQLServer Transact SQL全集--很实用

    - `SELECT` 可以用于复杂的查询,包括过滤(WHERE子句),排序(ORDER BY子句),分组(GROUP BY子句),聚合函数(COUNT, SUM, AVG等),以及使用LIKE,IN,BETWEEN等操作符进行数据筛选。 这些Transact-SQL语句...

    简易SQL----Easy

    通过组合`FROM`、`WHERE`、`GROUP BY`、`HAVING`、`ORDER BY`等子句,可以实现各种复杂的查询。简易SQL提供了复制粘贴字段的功能,使得构建查询更加高效。 除了这些基本操作,简易SQL可能还包含其他实用功能,如...

    经典SQL例子-scott

    这可能包括选择特定列、使用WHERE子句过滤结果、排序数据(ORDER BY)和分组数据(GROUP BY)。 2. **联接操作**:学习JOIN(如INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN)以合并来自不同表的数据。 3....

    SQL Server SQL优化

    在使用`GROUP BY`、`DISTINCT`和`ORDER BY`等操作时,应当尽可能地利用索引来加速执行。 - **推荐做法**:使用`UNION ALL`代替`UNION`以提高合并效率,如`SELECT * FROM A WITH (NOLOCK) WHERE Verify = 3 UNION ...

    ACcp---SQL--上机第2次

    1. **SQL基础语法**:SQL的基本结构包括SELECT、FROM、WHERE、GROUP BY和HAVING等语句,用于查询、筛选、分组和聚合数据。比如,SELECT语句用于从数据库中选择需要的列,FROM指定数据源,WHERE设置查询条件,GROUP ...

    《Pro Oracle SQL》Chapter7--7.10GROUP BY Restrictions

    在7.10 GROUP BY Restrictions这一部分,作者深入探讨了在使用GROUP BY子句时的一些限制和注意事项,这对于理解和编写高效、正确的SQL查询至关重要。 1. GROUP BY基础:GROUP BY子句用于将数据集按照一个或多个列...

Global site tag (gtag.js) - Google Analytics