`

Oracle 第四天 查询TOP100

阅读更多
熟悉TOP100收集的基本步骤

--查前100个cpu占用率高的sql语句
SELECT *
FROM (SELECT parsing_user_id,
        executions,
        sorts,
        disk_reads,
        s.BUFFER_GETS,
        s.CPU_TIME,
        s.ELAPSED_TIME,
        sql_text,
        command_type,
        S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
       ORDER BY CPU_TIME DESC)
WHERE rownum < 100 ;


--查连接数
select count(*) from v$session;
select * from v$session;
#查oracle配置
select * from v$resource_limit;
#获取执行次数前100位的SQL
SELECT *
FROM (SELECT parsing_user_id,
        executions,
        sorts,
        command_type,
        disk_reads,
        sql_text,
        S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
       ORDER BY executions DESC)
WHERE rownum < 100 ;


--获取sort前100位的SQL
SELECT *
  FROM (SELECT parsing_user_id,
        executions,
        sorts,
        command_type,
        disk_reads,
        sql_text,
        S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
     ORDER BY sorts DESC)
WHERE rownum < 100;     


--获取磁盘I/O前100位的SQL
SELECT *
FROM (SELECT parsing_user_id,
         executions,
         sorts,
         command_type,
         disk_reads,
         sql_text,
         S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
      ORDER BY disk_reads DESC)
  WHERE rownum < 100;


--获取逻辑读前100位的SQL
SELECT *
FROM (SELECT parsing_user_id,
         executions,
         sorts,
         command_type,
         s.BUFFER_GETS,
         sql_text,
         S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
      ORDER BY BUFFER_GETS DESC)
  WHERE rownum < 100;


--获取CPU消耗前100位的SQL
SELECT *
FROM (SELECT parsing_user_id,
        executions,
        sorts,
        disk_reads,
        s.BUFFER_GETS,
        s.CPU_TIME,
        s.ELAPSED_TIME,
        sql_text,
        command_type,
        S.HASH_VALUE
      FROM  v$sqlarea s
       WHERE S.PARSING_USER_ID=uid
       ORDER BY CPU_TIME DESC)
WHERE rownum < 100 ;
分享到:
评论

相关推荐

    Oracle 的top问题

    注意,`ROWNUM`是在子查询执行时立即赋值的,这意味着一旦`ROWNUM`超过所需的N(这里是6),那么接下来的行将不会被外部查询所选取,因此我们通过`WHERE r &gt; 3`来获取第4到第6名。 第二种方法使用了`MINUS`操作符:...

    oracle select top的方法

    在Oracle数据库中,标准SQL语法并不直接支持类似于`SELECT TOP 100 * FROM table_a`这样的语句来直接获取表中的前N行数据。然而,在实际业务场景中,这种需求却十分常见。例如,我们可能需要获取最近的100次登录记录...

    如何在Oracle中实现SELECT TOP N的方法

    在Oracle数据库中,由于不直接支持SQL Server中...总之,Oracle中实现`SELECT TOP N`的效果主要依赖于`ORDER BY`和`ROWNUM`的组合,通过这种方式,用户可以根据需求灵活地获取数据集的前N条、第N条或N条范围内的记录。

    如何在Oracle中实现SELECT_TOP_N的方法

    总结来说,Oracle中实现`SELECT TOP N`的方法主要是通过`ROWNUM`和`ORDER BY`的组合,通过嵌套查询来实现不同场景下的数据筛选。这种方法虽然比SQL Server中的`TOP`语法稍微复杂,但在Oracle环境下是有效且常用的...

    在ORACLE中实现SELECT TOP N的方法

    ### 在Oracle中实现SELECT TOP N的方法 #### 一、引言 在数据库查询操作中,经常需要获取数据表中的前N条记录,这种需求在多种业务场景中都非常常见。Oracle数据库作为一款强大的关系型数据库管理系统,提供了多种...

    java笔记\Oracle里sql不能用limit的处理

    四、使用Top-N查询实现分页查询 在MS SQL中,我们可以使用Top-N查询来实现分页查询。但是,在Oracle中,我们不能直接使用Top-N查询。我们可以使用Subquery来实现Top-N查询。 例如,以下SQL语句可以查询表TableA的...

    Oracle中的分析函数详解

    其中,Oracle的分析函数是其强大的特性之一,它允许用户在单个SQL查询中执行复杂的分析操作,而无需使用子查询或者自连接。这篇文档将深入探讨Oracle中的分析函数,帮助你更好地理解和利用这一功能。 一、什么是...

    oracle几个awr报告

    Oracle AWR(Automatic Workload Repository)报告是Oracle数据库性能监控的重要工具,它提供了数据库系统在一段时间内的详细性能数据。AWR报告包含了大量的诊断信息,帮助DBA(数据库管理员)识别性能瓶颈并进行...

    sqlserver中访问ORACLE返回1行数据

    其中一种常见的情形是从 SQL Server 数据库环境中查询 Oracle 数据库的数据。这通常涉及到跨数据库查询的技术,如使用 OPENQUERY 关键字。然而,在实际操作过程中可能会遇到一个问题:即期望获取多行数据时,却只...

    Oracle高级sql学习与练习

    INTERSECT用来返回两个查询结果集的交集,而MINUS则返回第一个查询结果集相对于第二个查询结果集的差集。 2. EXISTS和NOT EXISTS子句通常用于子查询中,用以判断子查询返回的结果集是否为空。EXISTS子句在找到至少...

    在ORACLE中SELECT TOP N的实现方法

    本文将详细介绍如何在Oracle中实现类似`SELECT TOP N`的查询,以及如何根据需求进一步调整查询以满足特定的场景。 1. 实现`SELECT TOP N`的基本方法 在Oracle中,可以通过结合`ORDER BY`和`ROWNUM`来实现类似`...

    数据库开发 Oracle数据库 SQL开发教程 第07章 子查询(共49页).pdf

    6. **TOP-N及分页查询**:在Oracle SQL中,虽然没有直接的TOP关键字来获取前N个记录,但可以通过子查询配合`RANK()`, `DENSE_RANK()`或`ROW_NUMBER()`等排名函数实现类似的功能,同时,还可以结合`OFFSET`和`FETCH`...

    ROWNUM的使用技巧

    使用 ROWNUM,我们可以实现一些特殊方式的输出,如 Top N 结果输出和分页查询。 Top N 结果输出 我们可以使用 ROWNUM 实现 Top N 结果输出,例如如果我们希望取输出结果的前面几条数据,可以使用以下 SQL 语句: ...

    TERADATA、ORACLE数据库分页

    在TERADATA中,进行分页查询主要通过使用`TOP`或`LIMIT`关键字,配合`ORDER BY`来实现。例如,如果我们想获取前10条记录,可以使用如下SQL语句: ```sql SELECT * FROM 表名 ORDER BY 排序字段 LIMIT 10; ``` 如果...

    ORACLE数据库笔试题及答案.doc

    GO TOP 命令将指针移动到第一条记录。 19. **在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过** - **解析**: 正确选项为 **B**。主键确保了关系中元组的唯一性。 20. **设当前数据库有10条记录...

    Oracle 11g详细操作

    - 获取下个月的第一天:`NEXT_DAY(date, 'weekday')` - 获取指定月份的最后一天:`LAST_DAY(date)` - 日期格式转换:`TO_CHAR(date, 'format')` ##### 4.3 分组函数 - **聚合函数**:`MAX()`, `MIN()`, `AVG()`,...

    Oracle DBA的职责

    4. **表空间管理**:DBA需关注表空间的使用情况,通过SQL查询获取各表空间的使用状况,以防止空间不足或浪费。 5. **性能监控与调整**:通过bstat/estat或statspack收集性能数据,使用vmstat、iostat和top等工具...

    Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)

    Oracle分析函数是数据库查询中的重要工具,特别是在处理复杂的分组和排序问题时。在Oracle中,分析函数可以让我们在聚合数据的同时保持原始行的信息,这对于数据挖掘和报表生成非常有用。本文将详细介绍如何使用分析...

Global site tag (gtag.js) - Google Analytics