`
Fangrn
  • 浏览: 801085 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取oracle全表扫描的sql列表

阅读更多

oracle sql优化是一项比较艰巨的任务了,有时我们可以将sql放在pl/sql dev中看执行计划去分析sql的效率,那是个很不错的方式,这里我也给出一个获取sql全表扫描的语句。

 
select to_char(sysdate,'yyyymm') as tjyf,a.object_owner, a.object_name,c.BYTES/1024/1024,sum(b.EXECUTIONS)
from
     (select object_owner,object_name,HASH_VALUE
 from v$sql_plan
  where object_owner not in ('SYS', 'SYSTEM','DBSNMP','OUTLN','PERFSTAT','PUBLIC','SQLAB','WMSYS') and OPTIONS = 'FULL'
  group by object_owner,object_name,HASH_VALUE) a,
     v$sqlarea b, dba_segments c
  where a.HASH_VALUE = b.HASH_VALUE
        and a.OBJECT_OWNER=c.owner
        and a.object_name=c.segment_name
       and c.segment_type='TABLE'
 group by to_char(sysdate,'yyyymm'),a.object_owner, a.object_name,c.BYTES/1024/1024
   order by sum(b.EXECUTIONS);
 
分享到:
评论
2 楼 Fangrn 2010-10-24  
实际上我们可以看另外一个视图,其信息更可读一些的:

select * from v$sql_plan;
有一列:opration,options,标识查询的类型,比如全表扫描的话是 table access full
1 楼 wukele 2010-10-21  
查找出来要怎么看,

相关推荐

    Oracle全表扫描及其执行计划

    很多朋友一看到SQL语句执行计划中的全表扫描,要考虑对其进行修理一番。全表扫描的存在,的确存在可能优化的余地。但事实上很多时候全表扫描也并非是低效的,完全要看不同的情形与场合,任一方式都是有利有弊的,也...

    SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法

    印象中记得,以前在做Oracle开发时,这种写法是会导致全表扫描的,用不上索引,不知道Sql Server里是否也是一样呢,于是做一个简单的测试1、建立测试用的表结构和索引: 代码如下:CREATE TABLE aaa(id int IDENTITY,...

    oracle的sql优化

    1.全表扫描和索引扫描  大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。  Oracle中通过RowID访问数据是最快的方式  对字段进行函数转换,或者前模糊查询都会导致无法...

    oracle高性能sql调整(全)

    理解SQL调整在Oracle总体微调中地地位,使用诸如内嵌视图和BIF扩展提高Oracle SQL性能,确定并报告程式库缓存中的SQL语句,调整SQL表访问、完整表扫描和平行查询,运行TKPROF获得SQL跟踪报告,使用Oracle线索 ...

    解析Oracle数据扫描Oracle SQL查询优化

    之前我们讨论了在数据库中数据读取操作的...通过这七种方法,其实我们探讨了如何引导控制优化器进行局部范围扫描的具体方法,以及如何通过局部范围扫描思想,来改进出现性能问题的SQL语句,从而提升语句执行性能的应

    oracle_sql性能优化

    在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器. 2. 访问Table的方式 ORACLE 采用两种访问表...

    oracle sql performance tuning

    3.5 用TABLE 索引(INDEX)栏位去做TABLE间的关联,可避免费时的全表扫描 7 3.6 在VIEW中尽量不要使用 PACKAGE/FUNCTION 来得到栏位值, 8 3.7 通过ROWID访问表 9 3.8 必要时,可在ORACLE STANDARD TABLE上加索引 9 ...

    ORACLE SQL性能优化系列

    在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器. 2. 访问Table的方式 ORACLE 采用两种...

    Oracle优化—SQL优化

    数据库、数据表、数据表I/O优化原则...6、全表扫描及索引扫描的实例比较 7、诊断有问题的SQL 8、使用sql_trace/10046事件进行数据库诊断 9、当前会话的所有SQL语句生成执行计划 10、如何干预执行计划 - - 使用hints提示

    ORACLE+SQL性能优化系列

    常用的oracle优化,全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描.

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    Oracle SQL建立有效索引减少回表

    回表:在数据中,当查询数据的时候,在索引中查找索引后,获得该行的rowid,根据rowid再查询表中数据,是回表。...  如果在b上没有建立索引,那么该条SQL语句执行时,要进行全表扫描,扫描所有该表中的数据块

    oracle 数据库优化技术资料

    在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器. 2. 访问Table的方式 ORACLE 采用两种...

    Oracle优化53解

    在缺省情况下,ORACLE采用CHOOSE优化器,为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器。 2. 访问Table的方式ORACLE 采用两种...

    SQL 语句完全优化

    Oracle SQL 语句完全优化 我们要做到不但会写SQL,还要做到写出性能优良的SQL语句。

    Oracle数据库学习指南

    26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使‘CREATE TABLE AS SELECT’能支持ORDER BY 30.删除表内重复记录的方法 31.数据库安全...

    oracle动态性能表

     table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。  user commits + user rollbacks:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中...

    oracle优化笔记

    计划,发现 SQL2 的执行计划也是全表扫描,这里 t1.name=的取值为 cc 的返回仅仅 10 条 记录,而 T1 表记录都在 5 千万左右, T2 表在 200 万左右,需要全扫这么大的两个表而获 取仅有的 10 记录吗? 这里又要再次...

Global site tag (gtag.js) - Google Analytics