11
Csci 5708 : Execution Plan -Bhavtosh Rath

Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

Embed Size (px)

Citation preview

Page 1: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

Csci 5708 : Execution Plan

-Bhavtosh Rath

Page 2: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

Syntax:SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘<statement_id>'));

DISPLAY function:

Displays result/content of the EXECUTION PLAN command stored in the plan table.

Page 3: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

1. Single table – Point query (Index Scan):SELECT TITLE FROM MOVIE WHERE VOTES = 2;

MOVIE

title

Votes =2

Query tree:

SELECT STATEMENT

TABLE ACCESS BY INDEX ROWID MOVIE

INDEX RANGE SCAN MOVIE_VOTES

Execution plan:

Page 4: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

SELECT TITLE FROM MOVIE WHERE VOTES = 2;

PLAN_TABLE output DISPLAY function

Page 5: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

2. Single table – Range query (Linear Scan):SELECT TITLE FROM MOVIE WHERE VOTES > 2;

MOVIE

title

Votes > 2

Query tree :

SELECT STATEMENT

Execution plan:

TABLE ACCESS FULL MOVIE

Page 6: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

SELECT TITLE FROM MOVIE WHERE VOTES > 2;

PLAN_TABLE output DISPLAY function

Page 7: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

3. Two table – One JOIN + One point querySELECT a1.NAME FROM ACTOR a1, ACTOR a2 WHERE a1.ID > a2.ID AND a2.NAME = ‘Kent Douglass’;

a1.NAME

a1.ID > a2.ID

Query tree :

a2.NAME = ‘Kent Douglass’

ACTOR a2

ACTOR a1

SELECT STATEMENT

Execution plan:

NESTED LOOPS

TABLE ACCESS FULL ACTORTABLE ACCESS BY INDEX ROWID ACTOR

INDEX RANGE SCAN

Page 8: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

SELECT a1.NAME FROM ACTOR a1, ACTOR a2 WHERE a1.ID > a2.ID AND a2.NAME = ‘Kent Douglass’;

PLAN_TABLE output DISPLAY function

Page 9: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

4. Three table – Two joins:SELECT a.NAME, m.TITLE FROM ACTOR a, MOVIE m, CASTING c WHERE a.ID = c.ACTORID AND c.MOVIEID = m.ID;

CASTING c

a.NAME, m.TITLE

a.ID = c.ACTORID

Query tree :

c.MOVIEID = m.ID

MOVIE m

ACTOR a

SELECT STATEMENT

Execution plan:

HASH JOIN

HASH JOIN

TABLE ACCESS FULL CASTING

TABLE ACCESS FULL ACTOR

TABLE ACCESS FULL MOVIE

Page 10: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

SELECT a.NAME, m.TITLE FROM ACTOR a, MOVIE m, CASTING c WHERE a.ID = c.ACTORID AND c.MOVIEID = m.ID;

PLAN_TABLE output DISPLAY function

Page 11: Csci 5708 : Execution Plan -Bhavtosh Rath. Syntax: SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY(‘PLAN_TABLE',‘ ')); DISPLAY function: Displays result/content

-The End-