有很多种方法可以用来找出哪些SQL语句需要优化,但是很久以来,最简单的方法都是分析保存在V$SQL视图中的缓存的SQL信息。通过V$SQL视图,可以确定具有高消耗时间、CUP和IO读取的SQL语句。
1.查看总消耗时间最多的前10条SQL语句
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.elapsed_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;
2.查看CPU消耗时间最多的前10条SQL语句
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.cpu_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;
3.查看消耗磁盘读取最多的前10条SQL语句
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.disk_reads desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;
分享到:
相关推荐
oracle如何查看很耗时的sql
主要给大家介绍了oracle查看执行最慢与查询次数最多的sql语句,文中给出完整的示例代码,相信对大家的学习或者工作具有一定的参考价值,有需要的朋友们下面来一起看看吧。
首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL中调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。突然想到Oracle有一个编码转换的函数叫...
Oracle必须花费大量的时间来剖析多表格的合并,用以确定表格合并的最佳顺序。如果SQL表达式涉及七个乃至更多的表格合并,那么有时就会...使用ordered提示会跳过非常耗时和耗资源的剖析操作,并加快Oracle SQL的执行。
oracle的sql优化方法 1.全表扫描和索引扫描 大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。 Oracle中通过RowID访问数据是最快的方式 对字段进行函数转换,或者前...
Tosska SQL Tuning Expert (TSE™) 是一...一款针对Oracle SQL语句优化的工具,对于某些耗时的查询语句有很好的优化效果。该软件的优化手段是引入Oracle的hint功能,手动给查询语句指定更优的执行计划来达到优化效果。
如果你有很多的 PL/SQL 代码,这种处理可能是十分耗时和容易出错的。 这时,你可以使用 %TYPE 属性而不是将变量类型硬性编码。例如: ```sql DECLARE v_FirstName students.first_name%TYPE; ``` 通过使用 %TYPE,...
一款针对Oracle SQL语句优化的工具,对于某些耗时的查询语句有很好的优化效果。该软件的优化手段是引入Oracle的hint功能,手动给查询语句指定更优的执行计划来达到优化效果。
Oracle存储过程和PL/SQL代码常常包含了多个子过程和SQL,对于单个的SQL,我们很容易分析他的执行效率,但是对于PL/SQL存储过程,我们如何分析它的执行效率、具体每一步的耗时情况呢?文档和脚本提供了profiler工具...
首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个自定义函数,然后SQL中调用得到结果。但是感觉这个方法估计很耗时,毕竟每个字符都要比较,所以没有去实现。突然想到Oracle有一个编码转换的函数叫...
目前发现很多局点在上线以后有很多低效的sql,导致cpu繁忙、磁盘I/O繁忙、效率低下,影响系统的正常运行。如何在测试环节或上线以后发现这些低效的sql呢? Oracle AWR报告可以很好的帮我们解决这个问题
Oracle 使用的脚本语言为 PL-SQL,而 SQL Server 使用的脚本语言为 T-SQL。 二、Oracle 游标的使用 Oracle 中的游标分为显示游标和隐式游标。显示游标是用 cursor...is 命令定义的游标,能够对查询语句(select)...
主要介绍了oracle中如何得到一条SQL语句的执行时间,有两种可行方式,大家可以参考下
SET TIMING OFF 命令用于关闭显示每条 SQL 命令的耗时,以便提高脚本的执行效率。 SET TRIMOUT ON SET TRIMOUT ON 命令用于去除标准输出每行的拖尾空格,以便输出结果更加整洁。 SET ECHO OFF SET ECHO OFF 命令...
Oracle 物化视图是一种预先计算并保存表连接或聚集等耗时较多的操作的结果,以提高查询性能。物化视图对应用程序透明,不会影响应用程序的正确性和有效性,但需要占用存储空间。基表发生变化时,物化视图也应当刷新...
企业版支持回闪查询,能够快速、准确地恢复更早版本的数据,并且不需要进行复杂、耗时的操作。标准版不具备这种功能。 数据卫士 企业版支持数据卫士,可以创建、维护并监控一个或多个备用数据库,以保护企业数据不...
LOadrunner进行压力测试时,需要对数据库进行监控,spotliht on oracle工具可以实时监控oracle数据库,定位耗时,执行效率低的sql,便于对数据库进行调优提供参考依据。
1 性能优化 1.1 避免频繁 commit,尤其...说明:除非是单据的单号,要求必须是唯一,并且依据流水号不可以跳号,不然在大量交易的表格中,不在乎跳耗时,要取得唯一的Primary Key 建议使用Oracle Sequence这样速度会较...
2.1、删除并从头开始建索引:方法是最慢的,最耗时的。一般不建议。 2.2、Alter index index_name rebuild 快速重建索引的一种有效的办法,因为使用现有索引项来重建新索引,如果客户操作时有其他用户在对这...
该加载项用于清理和创建脚本,以将记录批量加载到SQL Server,Oracle,Documentum,标记或Markdown语言中。 功能区中的功能允许您快速准备批量数据加载。 否则,请求可能既耗时又容易出错。 它以3个不同的版本编写,...