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

SQL优化 ----- 用 UNION-ALL 替换UNION ( 如果有可能的话)

SQL 
阅读更多

当SQL 语句需要UNION 两个查询结果集合时,这两个结果集合会以UNION-ALL 的方式被

合并, 然后在输出最终结果前进行排序.

如果用UNION ALL 替代UNION, 这样排序就不是必要了. 效率就会因此得到提高.

举例:

低效:

SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
UNION
SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
 

高效:

SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
UNION ALL
SELECT ACCT_NUM, BALANCE_AMT
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE = ’31-DEC-95’
 
分享到:
评论

相关推荐

    收获,不止SQL优化--抓住SQL的本质1

    - **常见误区**:纠正读者在SQL优化过程中可能存在的错误观念。 - **颠覆传统观点**:挑战一些传统的优化方法,提出新的思考方向。 - **真诚交流**:作者通过提供额外的学习资源等方式,鼓励读者进行深入思考,并...

    SQL2022-SSEI-Dev

    这个标签同样重申了这一主题,表明内容可能与 SQL Server 2022 的安全性和开发相关特性有关。由于提供的压缩包只有一个名为 "SQL2022-SSEI-Dev.exe" 的文件,这很可能是安装程序或工具包,用于在开发环境中设置 SQL ...

    SQL优化-索引(1-15).rar

    本资料包"SQL优化-索引(1-15).rar"深入探讨了索引的两个主要类型:聚集索引(Clustered Index)和非聚集索引(Nonclustered Index),并可能包含了对这两种索引的创建、使用、维护和优化策略。 聚集索引,也称为...

    收获,不止SQL优化--抓住SQL的本质

    资源名称:收获,不止SQL优化--抓住SQL的本质作者简介:梁敬彬,福富研究院副理事长、公司唯一四星级内训师。不仅是公司特级专家也是国内一线知名数据库专家,其个人及团队在数据库优化和培训领域有着丰富的经验、...

    SQL语句 UNION 和 UNION ALL 使用

    ### SQL语句 UNION 和 UNION ALL 使用详解 #### 一、SQL UNION 和 UNION ALL 的基本概念 **UNION** 和 **UNION ALL** 是 SQL 语言中用于合并两个或多个 SELECT 语句结果集的关键字。这两种操作符都可以帮助我们...

    Sql中的UNION ALL

    ### SQL中的UNION ALL 在SQL查询语言中,`UNION ALL`是一个非常有用的运算符,它用于合并两个或多个`SELECT`语句的结果集。与`UNION`不同的是,`UNION ALL`会保留所有的行,包括重复行。 #### UNION ALL 的使用...

    sql-map-2.dtd和sql-map-config-2.dtd

    在IT行业中,数据库操作是核心任务之一,而Ibatis作为一款优秀的Java持久层框架,极大地简化了数据库操作...在开发过程中,合理地利用它们可以提升开发效率,减少出错的可能性,是每个Ibatis使用者应当掌握的基础知识。

    sql利用union all行转列

    ### SQL利用UNION ALL进行行转列方法解析 在数据库操作中,经常需要对数据进行各种转换以满足不同的业务需求。其中,“行转列”(Pivot)是一种常见的数据转换方式,它能够将数据表中的某列或多列值转换为多列的...

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

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

    sql优化-oracle数据库.ppt

    - **OR替代**:在索引列上用UNION ALL替换OR,避免全表扫描。 - **去重处理**:UNION ALL不去除重复,UNION会,若需去重,可在外围使用DISTINCT。 7. **其他优化点** - **索引选择**:创建合适的索引类型(单列...

    java 连接sqlserver使用的java-sqlserver-connect.jar包

    Java连接SQL Server数据库通常需要特定的驱动程序,这个驱动程序以Java Archive (JAR) 文件的形式存在。在本例中,我们关注的是"java-sqlserver-connect.jar",这是一个专门为Java应用程序提供与Microsoft SQL ...

    使用flink-connector-sqlserver-cdc 2.3.0把数据从SQL Server实时同步到MySQL中

    - 如果有多个SQL Server表需要同步,可以创建多个源表和相应的数据流,然后合并到一个统一的目标表。 - 随着业务发展,你可能需要升级Flink CDC连接器版本,确保兼容性和利用最新特性。 总之,通过Flink-...

    flink-sql-connector-hive-3.1.2-2.12-1.15.4.jar

    flink-sql-connector-hive-3.1.2-2.12-1.15.4.jar

    flume-ng-sql-source-1.5.2

    - **并发与性能**:源码中可能包含对并发查询的支持,以提高数据摄取速度,同时可能有优化策略来平衡资源消耗和性能。 3. **SQL集成**: - **数据库兼容性**:Flume-ng-sql-source通常需要JDBC驱动来连接各种类型...

    flink-sql-connector-oracle-cdc-2.5-SNAPSHOT.jar

    flink-sql-connector-oracle-cdc 2.5-SNAPSHOT

    x-pack-sql-jdbc-6.4-7.6各个版本jdbc驱动--百度网盘下载

    x-pack-sql-jdbc-6.4.0到x-pack-sql-jdbc-7.6.0各个版本jdbc驱动下载

    flink-sql-connector-oceanbase-cdc-2.5-SNAPSHOT.jar

    flink-sql-connector-oceanbase-cdc 2.5-SNAPSHOT

    x-pack-sql-jdbc-7.7.0.jar

    x-pack-sql-jdbc-7.8.0.jar 连接es的数据库jdbc 驱动包 x-pack-sql-jdbc-7.8.0.jar 连接es的数据库jdbc 驱动包

    x-pack-sql-jdbc-7.4.2.jar

    x-pack-sql-jdbc-7.4.2.jar jdbc驱动包 x-pack-sql-jdbc-7.4.2.jar jdbc驱动包

    x-pack-sql-jdbc-6.5.4.jar

    x-pack-sql-jdbc-6.5.4.jar

Global site tag (gtag.js) - Google Analytics