oracle常见的执行计划

访问表的执行计划:
全表扫描:TABLE ACCESS FULL
ROWID扫描:TABLE ACCESS BY USER ROWID (ROWID来源于用户在where条件中的指定)或 TABLE ACCESS BY INDEX ROWID(rowid来源于索引)

与B树索引相关的执行计划:
索引唯一扫描:INDEX UNIQUE SCAN
索引范围扫描:INDEX RANGE SCAN
索引全扫描:INDEX FULL SCAN
索引快速全扫描:INDEX FAST FULL SCAN
索引跳跃式扫描:INDEX SKIP SCAN

与位图索引相关的执行计划:
位图索引单键值扫描:BITMAP INDEX SINGLE VALUE
位图索引范围扫描:BITMAP INDEX RANGE SCAN
位图索引全扫描:BITMAP INDEX FULL SCAN
位图索引快速全扫描:BITMAP INDEX FAST FULL SCAN
位图索引按位与:BITMAP AND
位图索引按位或:BITMAP OR
位图索引按位减:BITMAP MINUS
在使用完位图索引后,通常会将最后的位图运算结果转化为ROWID:BITMAP CONVERSION TO ROWIDS

与表连接相关的执行计划:
排序合并连接:SORT JOIN 和 MERGE JOIN
嵌套循环连接:NESTED LOOPS
哈希连接:HASH JOIN
反连接:ANTI
半连接:SEMI

原文地址:https://www.cnblogs.com/qinjf/p/8419670.html

时间: 2024-10-16 15:30:21

oracle常见的执行计划的相关文章

oracle里的执行计划-查看

内容主要来自看书学习的笔记,如下记录了常见查询执行计划的方法. 2.2 如何查看执行计划1.explain plan2.dbms_xplan包3.autotrace4.10046事件5.10053事件6.awr/statspack报告(@?/rdbms/admin/awrsqrpt)7.脚本(display_cursor_9i.sql) 2.2.1 explain planexplain plan for sqlselect * from table(dbms_xplan.display);SQ

Oracle rownum影响执行计划

今天调优一条SQL语句,由于SQL比较复杂,用autotrace很难一眼看出哪里出了问题,直接上10046. SELECT AB.* FROM (SELECT A.*, rownum RN FROM (SELECT * from (SELECT DISTINCT (D.DEVICE_ID), F.FUNCTION_LOCATION_ID from GG_device D, GG_CLASSIFY_CARD C, GG_function_location F, GG_fl_device L, GG

查询oracle sql的执行计划时,一个很重要的视图--dba_hist_sql_plan

本文的编写得到枯荣长老的大力帮助,在此表示感谢. 本文适用的oracle db版本为oracle 10g或者更高版本. 之所以说这个视图很重要,是因为该视图中有一列是在awrsqrpt报告中没有的.这一列就是 filter_predicates列. SELECT plan_hash_value, TO_CHAR(RAWTOHEX(child_address)), TO_NUMBER(child_number), id, LPAD(' ', DEPTH) || operation operatio

Oracle查看SQL执行计划的方式

Oracle查看SQL执行计划的方式   获取Oracle sql执行计划并查看执行计划,是掌握和判断数据库性能的基本技巧.下面案例介绍了多种查看sql执行计划的方式: 基本有以下几种方式: 1.通过sql_trace初始化参数 2.通过Autotrace 3.通过explain plan 4.通过dbms_xplan.display_cursor 5.通过dbms_xplan.display_awr 6.通过10046事件 1.通过explain plan 工具 12:24:00 [email

Oracle里的常见的执行计划

与表访问相关的执行计划 Oracle数据库里面与表访问有关的的两种方法:全表扫描和ROWID扫描.反应在执行计划上,与全表扫描对应的执行计划中的关键字是"TABLE ACCESS FULL",与ROWID扫描对应的执行计划中的关键字是"TABLE ACCESS BY USER ROWID"或"TABLE ACCESS BY INDEX ROWID". 我们来看一下与表访问的相关的执行计划,先执行如下SQL: SQL> select empn

转://看懂Oracle中的执行计划

一.什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二.怎样查看Oracle执行计划? 2.1 explain plan for命令查看执行计划 在sql*plus中,执行如下命令: 1)explain plan for select * from XXXX; 2)select * from table(dbms_xplan.display); 2.2 SET AUTOTRACE ON查看执行计划 语法:SET AUTOT[RACE] {OFF |

Oracle数据库查看执行计划

基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明. 一.什么是执行计划(explain plan) 执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述. 二.如何查看执行计划 1: 在PL/SQL下按F5查看执行计划.第三方工具toad等. 很多人以为PL/SQL的执行计划只能看到基数.优化器.耗

最权威Oracle获取SQL执行计划大全

该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅使用,因本人未发现本博客支持附件上传功能,需要PDF文件格式的朋友可向我要,也可到群里下载,转载请注明出处. 1.查询v$sql_plan: SQL> col "Query Plan_Table" format a100 SQL> select id,lpad(' ', 2*(

oracle如何查看执行计划

1.在PL/SQL Developer中得到一个SQL的执行计划 输入想要查看执行计划的目标SQL,再按一下快捷键F5就可以了.2.explain plan 命令 explain plan for + 目标SQL select * from table(dbms_xplan.display)3. DBMS_XPLAN 包 1) select * from table(dbms_xplan.display_cursor(null,null,'advanced')) 它用于在SQLPLUS中查看刚刚