> 데이터 베이스 > MySQL 튜토리얼 > Oracle 获取执行计划

Oracle 获取执行计划

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 17:25:49
원래의
1036명이 탐색했습니다.

当我们质疑一条SQL语句执行缓慢,进而尝试是否有改进可能性的时候。我们往往需要查看这条SQL语句对应的执行计划,那么在Oracle中

一. 背景介绍

当我们质疑一条SQL语句执行缓慢,进而尝试是否有改进可能性的时候。我们往往需要查看这条SQL语句对应的执行计划,那么在Oracle中如何获取执行计划是本文要介绍的内容。

二. 获取方法

oracle提供四种获取执行计划的方法:

1. 执行SQL语句explain plan,然后查询结果输出表(普遍方法)

2. 查询一张动态性能视图

3. 查询自动工作量库或者statspack表

4. 启动提供执行计划的跟踪功能(比如启动sql_trace)

三. SQL语句EXPLAIN PLAN(方法一)

这个命令是以一条SQL语句作为输入,得到这条SQL的执行计划,,并且将结果输出到计划表中。语法如下:

explain plan for select count(*) from user_objects  /*解析获取执行计划*/

select * from table (dbms_xplan.display) /*查询计划表显示执行计划*/

如果查看的是绑定变量SQL的执行计划,SQL必须是变量的形式,比如:

explain plan  for select * from emp where empno = :p_value.

但是,存在一个问题,由于命令explain plan不能使用绑定变量窥测,也就是explain plan显示的执行计划,可能不是真正的执行计划。也就是说,如果使用了绑定变量,那么explain plan生成的执行计划是不可靠的(当然,这是针对绝对可靠而言,其实已经很可靠了)

linux

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿