`
Fangrn
  • 浏览: 818505 次
  • 性别: 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全表扫描的3种优化手段

    ### Oracle全表扫描的三种优化手段 在Oracle数据库管理中,全表扫描(Full Table Scan,简称FTS)是指查询语句对整个表的数据进行读取的一种操作方式。当索引选择性较差或者表较小的时候,Oracle可能会选择全表扫描...

    Oracle全表扫描及其执行计划

    Oracle全表扫描是一种数据库操作,它是访问数据库表数据的主要方式之一。当Oracle处理SQL查询时,如果选择全表扫描,那么它将遍历表中所有数据块以获取所需信息。这种扫描方式涉及到读取表中每一行,实际上,是读取...

    ORACLE SQL性能优化系列

    ORACLE 采用一次读入多个数据块(database block)的方式优化全表扫描。 2. 通过 ROWID 访问表 你可以采用基于 ROWID 的访问方式,提高访问表的效率。ROWID 包含了表中记录的物理位置信息。ORACLE 采用索引(INDEX...

    高清完整版 Oracle 高性能SQL引擎剖析SQL优化与调优机制详解

    通过分析执行计划,可以了解SQL语句的执行路径,包括如何访问数据(全表扫描、索引扫描等)、如何进行数据排序、连接等操作。掌握这些信息对优化SQL语句至关重要。 此外,Oracle提供了丰富的SQL调优工具和方法。...

    OracleSQL的优化.pdf

    为了提高数据库的性能,我们需要从五个方面进行调整:去掉不必要的大型表的全表扫描、缓存小型表的全表扫描、检验优化索引的使用、检验优化的连接技术、尽可能减少执行方案的 Cost。 在 SQL 优化中,固定的 SQL ...

    ORACLE执行计划和SQL调优

    - **全表扫描(Full Table Scans, FTS)**:遍历整个表来获取数据,当没有可用索引或者全表扫描更高效时使用。 - **通过ROWID的表存取(Table Access by ROWID)**:直接根据ROWID定位数据行,非常快速,但只适用...

    Oracle 11G- SQL

    - **避免全表扫描**:尽可能利用索引来避免全表扫描,特别是在大型表上。 - **使用分区**:对于大型表,使用分区可以将查询限制在一个或几个特定的分区中,从而减少数据扫描量。 - **合理使用 JOIN 语句**:JOIN ...

    压测Oracle的SQL语句的性能情况

    1. **SQL优化**:优化SQL语句是提升性能的关键,包括避免全表扫描,使用索引,减少子查询,合理使用连接方式等。 2. **绑定变量**:使用绑定变量可以防止硬解析,提高SQL执行效率,减少解析开销。 3. **执行计划**...

    Oracle 高性能SQL优化(ppt)

    SQL优化的目标包括避免全表扫描,充分利用缓存,优化索引使用,改进连接技术和检查子查询的效率。 在SQL的生命周期中,不同阶段的优化会有不同效果。设计阶段的优化可以避免后期大量调整,开发阶段的优化则直接影响...

    个人整理,oracle访问路径(全表扫描、回表、索引范围扫描等等)

    全表扫描是 Oracle 访问路径的一种,最基本的访问方式。它扫描整个表,检查每一行记录,以找到匹配的记录。全表扫描通常用于以下情况: * 表非常小,扫描整个表的成本较低。 * 无法使用索引,因为索引不包含查询所...

    Oracle中SQL语句执行效率的查找与解决

    - **全表扫描**:当查询条件不能有效利用索引时,Oracle可能会选择全表扫描。这种情况下,增加或调整索引策略可能是提高性能的有效手段。 - **索引扫描**:合理利用索引可以显著减少数据访问量。确保查询条件能够...

    Oracle高性能SQL调整.rar

    理解SQL执行计划,它显示了数据库如何处理SQL语句,以及哪些操作(如索引扫描、全表扫描等)将被用于获取数据。 2. **执行计划分析**:学习如何使用`EXPLAIN PLAN`或`DBMS_XPLAN`来查看和分析SQL的执行计划,识别...

    ORACLE索引详解及SQL优化

    2. **全表扫描**:当查询返回大部分或全部记录时,数据库可能会选择全表扫描而非使用索引。 3. **操作符**:某些操作符如`NOT`、`BETWEEN`、`LIKE`的模糊匹配可能导致索引失效,除非使用了前缀索引或全文索引。 4. *...

    Oracle 3种分页SQL方法比较

    这种方法既支持ORDER BY,又避免了全表扫描和子查询,因此在大数据量分页时可能更为高效。 总结来说,ROWNUM是最基础的分页方式,适合小数据量或无需排序的情况;ROWNUM结合子查询能保证有序分页,但效率较低;...

    oracle sql_tuning

    1. **SQL执行计划**:SQL执行计划是Oracle解析器为每个SQL语句制定的执行策略,包括表的扫描方式(全表扫描或索引扫描)、连接顺序、排序操作等。理解执行计划有助于找出性能瓶颈并进行优化。 2. **绑定变量**:...

    oracle_sql性能优化 文档

    ORACLE通过一次读取多个数据块来优化全表扫描,但应尽可能避免。 - **通过ROWID访问**:ROWID包含了表中记录的物理位置信息,通过索引可以快速定位ROWID,提高查询速度。建立和有效利用索引是提高SQL性能的关键,...

    ORACLE执行计划和SQL调优.pptx

    SQL调优的目标是减少全表扫描,优化索引使用,以及明智地选择Driving Table和Probed Table,以最小化I/O操作和提高查询速度。理解并熟练运用这些概念对于数据库管理员和开发人员来说至关重要,因为它们直接影响到...

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

    2. **避免全表扫描**:全表扫描会大大增加查询时间。通过使用适当的WHERE子句来限制返回的数据量,可以避免全表扫描的发生。 3. **减少使用SELECT ***:明确指定查询中需要的字段,而不是使用SELECT *,这样可以...

    ORACLE 19C SQL调优指南 中文版 Oracle DBA

    在适当列上创建索引可以减少全表扫描,但过多的索引会增加写操作的开销。DBA需要根据查询模式和业务需求平衡索引的利弊。 3. **绑定变量**:使用绑定变量可以避免硬解析,提高SQL语句的重用性,减少解析开销。当SQL...

Global site tag (gtag.js) - Google Analytics