My Oracle Support Banner

Interpreting Explain Plan (10g and Above) (Doc ID 1616894.1)

Last updated on JUNE 13, 2023

Applies to:

Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database - Enterprise Edition - Version 10.1.0.2 and later
Information in this document applies to any platform.






Purpose

This article outlines how to interpret explain plans. It is based upon an earlier document which was written in the 8i timeframe and updated to reflect more recent developments.

 

NOTE: In the images and/or the document content below, the user information and data used represents fictitious data from the Oracle sample schema(s) or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.

For legacy information see:

<Document 46234.1> Interpreting Explain Plan

The manual also provides useful material:

Oracle® Database SQL Tuning Guide
12c Release 1 (12.1)
E15858-15
Chapter 8 Generating and Displaying Execution Plans
http://docs.oracle.com/cd/E16655_01/server.121/e15858/tgsql_genplan.htm#TGSQL271

Chapter 9 Reading Execution Plans
http://docs.oracle.com/cd/E16655_01/server.121/e15858/tgsql_interp.htm#TGSQL94618

 

Scope

The audience for this article is anyone interested in undertanding the basics of reading explain plan 

Details

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Purpose
Scope
Details
 What is an explain plan?
 Terminology
 How does Oracle access data?
 Examples
 Explain plan Sections
 Explain plan Hierarchy
 More about plans and the order of execution
 Example 1
 Example 2
 Using SQLT to determine the execution order
 Access Methods in detail
 Full Table Scan (FTS)
 Index lookup
 Index unique scan
 Index range scan
 Index Full Scan
 Index Fast Full Scan (Index FFS)
 Index skip scan
 Rowid
 Joins
 Nested Loops
 Hash Join
 Sort Merge Join
 Cartesian Product
 Operations
 Sorts
 Filter
 Views
 Inline view with aggregate function
 Subquery unnested but resultant view not merged:
 Remote Queries
 Fully Remote Query
 Partially Remote Query
 Bind Variables
 How to obtain explain plans
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.