`

用oracle分析函数优化自连接

阅读更多

--查找同一个部门经理下面empno最大的那条record

SELECT T1.*
  FROM EMP T1
 WHERE T1.EMPNO = (SELECT MAX(T2.EMPNO) FROM EMP T2 WHERE T1.MGR = T2.MGR)
 ORDER BY T1.MGR;

 

 

上面的可以使用over(partition by...),获取max(EMPNO),这样写法大大优化性能,数据量越大,效果越明显

WITH EMP_W AS(
  SELECT TP.*, MAX(EMPNO) OVER(PARTITION BY MGR) MAX_EMPNO
    FROM EMP TP
   WHERE TP.MGR IS NOT NULL)
    SELECT * FROM EMP_W A WHERE A.EMPNO = A.MAX_EMPNO ORDER BY A.MGR;

 

分享到:
评论

相关推荐

    ORACLE常用分析函数说明

    ORACLE 常用分析函数说明 Oracle 分析函数从 8.1.6 版本开始提供,是一种计算基于组的聚合值的函数。它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数是分析函数工作的...

    oracle优化篇及常用函数

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能优化对于任何使用它的企业来说都是至关重要的。本篇文章将深入探讨Oracle数据库的优化策略,并提供一些常用的函数实例详解,帮助你更好地理解和应用...

    ORACLE分析函数

    Oracle分析函数是数据库管理系统Oracle中一组强大的工具,用于在数据集上执行复杂的数据处理和聚合操作,而无需使用子查询或自连接。这些函数在处理分组数据时尤其有用,可以提供排序、分段和计算累计值等功能。本文...

    oracle分析函数

    ### Oracle分析函数详解 #### 一、Oracle分析函数概述 Oracle分析函数,也称为窗口函数,是一种高级查询技术,主要用于处理复杂的数据分析需求,尤其是在OLAP(在线分析处理)场景中,它们能够对数据进行多层次的...

    Oracle_SQL优化脚本_完整实用资源

    例如,使用连接操作替换子查询,或者使用集合操作优化多表查询。优化脚本可能会包含自动或手动的SQL改写规则。 5. **缓存与内存管理**:Oracle数据库有多个级别的缓存,如SGA(System Global Area)和PGA(Program ...

    《基于Oracle的SQL优化》PDF版本下载.txt

    8. **利用Oracle的内置函数**:Oracle提供了一系列内置函数来帮助优化查询,如DECODE、CASE WHEN等,这些函数可以帮助简化复杂的逻辑判断。 ### 实践案例 假设有一个订单表(Order),其中包含大量的订单信息。为了...

    oracle之SQL优化

    - **连接顺序**:Oracle会尝试优化连接顺序,但合理指定连接顺序(使用`JOIN ORDER` hint)可能更有效。 - **并行查询**:通过并行执行计划,可以利用多处理器资源加速查询。 4. **子查询优化** - **子查询合并*...

    oracle内置函数学习

    通过深入学习和实践Oracle内置函数,你可以提高数据库操作的效率,优化查询性能,同时也能更好地应对各种复杂的数据处理场景。无论是初学者还是经验丰富的DBA,对这些内置函数的熟练掌握都将极大地提升你的数据库...

    Oracle查询优化改写 技巧与案例.pdf

    在Oracle中,优化器会根据不同的参数来决定使用何种方式执行SQL语句。这些参数包括统计信息、表和索引的物理特性等。优化过程中,我们可能需要对原始查询语句进行改写,以便优化器生成更优的执行计划。 优化改写的...

    ORACLE配置文件优化

    6. **Oracle语句优化**:阅读"Oracle语句优化规则汇总.pdf"和"ORACLE-优化.txt"文件,可以学习到如何编写高效的SQL语句,如避免全表扫描,利用索引,减少子查询,以及使用适当的连接方式等。此外,了解并使用Oracle...

    ORACLE数据库设计与优化

    总结,Oracle数据库设计与优化是一个涉及多方面知识的复杂过程,包括但不限于物理结构设计、SQL优化、索引策略、存储过程使用、性能监控以及备份恢复策略。理解这些核心概念并灵活应用,将有助于构建高效、稳定且...

    Oracle查询优化改写-技巧与案例

    6. **聚合函数和GROUP BY**:优化GROUP BY和HAVING子句,可能包括使用分析函数(如Lag(), Lead(), Rank()等)来减少数据处理,或者使用物化视图来预先计算结果。 7. **游标和循环**:在PL/SQL编程中,游标和循环...

    Oracle内置函数大全.rar

    3. 分析和优化已有的SQL查询,看看是否能用内置函数提高性能。 4. 学习如何结合多个函数解决复杂的数据处理问题。 在Oracle数据库的世界里,熟练掌握内置函数是提升数据库管理能力的重要一环。这份资料“Oracle内置...

    oracle数据库 左连接 右连接 自连接 。。

    在Oracle数据库中,连接操作是查询数据的核心部分,它允许我们合并来自多个表的数据。这里主要涉及三种类型的连接:左连接、右连接和自连接。理解这些连接方式对于有效地管理和查询数据库至关重要。 1. **左连接...

    Oracle 9i 分析函数参考手册

    Oracle 9i 分析函数是数据库管理中一种强大的工具,自 Oracle 8.1.6 版本开始引入。分析函数的主要目的是计算基于特定分组的聚合值,但与普通的聚合函数(如 SUM, AVG, COUNT 等)不同,它们能够针对每个分组返回...

    oracle性能优化之SQL语句优化

    首先,Oracle的优化器(Optimizer)是一种内部机制,它负责分析SQL语句并确定执行查询的最佳路径。优化器有两种主要模式:基于规则的优化器(RBO)和基于成本的优化器(CBO)。RBO依赖于预定义的规则和策略来决定...

    Oracle.10g性能分析与优化思路

    在IT领域,数据库管理是至关重要的,而Oracle作为全球广泛使用的数据库系统之一,其性能优化对于企业业务的高效运行起着决定性作用。本主题聚焦于"Oracle.10g性能分析与优化思路",旨在深入探讨如何通过一系列技术...

    oracle性能优化文档

    这包括使用恰当的索引、避免全表扫描、使用绑定变量、减少子查询和连接操作、合理使用分析函数等。理解执行计划和使用EXPLAIN PLAN工具是诊断和改进SQL性能的关键。 2. **索引策略**: 索引是加速数据访问的利器,...

    性能优化案例分析与Oracle语句优化53个规则详解

    在"Oracle语句优化53个规则详解"中,可能包括了如何避免全表扫描、合理使用索引、减少表连接、优化子查询、避免在where子句中使用否定操作符等多方面的内容。例如,通过使用绑定变量可以避免硬解析,提高SQL执行效率...

Global site tag (gtag.js) - Google Analytics