Overview

SQL Processing is one of the biggest problems with any database because it is the hearth of performance tuning. In that chapter I will try to summarize, how Oracle processes an SQL. Firstly the statement has to be processed and there are several steps which should be executed.

Parse:

Open Cursor

Syntax Check

Semmantic Check

Shared Pool check

Binding

*Optimization

*Row source generation

Execute:

Execution

Fetch:

Fetch results

Close Cursor

*-Optional steps in case of hard parse

Below you can check a brief picture of Cursor Processing:

Parsing

Execute

Fetching

The SQL processing like any other processing of code. It comes from a human and needs to go back to a human :) The problem is, through how many stops it will pass. Below you can see a basic representation on the possible wait times for any query:

This picture, clearly displays why it isn't ALWAYS A DATABASE FAULT :) Often the database is intermediary point between the User and the data.