Selasa, 22 Oktober 2013

OPTIMASI QUERY - Informasi Jalur Akses Query

OPTIMASI QUERY - Informasi Jalur Akses Query
Pada Database Oracle, informasi untuk melihat jalur akses yang akan digunakan untuk eksekusi database saat melakukan query dapat dilihat dengan menggunakan perintahexplain plain. Informasi ini disimpan dalam tabel PLAN_TABLE yang terdapat di schema user yang mengeksekusi perintah tersebut.

Sebelum melakukan perintah explain plan, terlebih dahulu buat table PLAN_TABLE dengan menggunakan script utlxplan.sql yang diambil dari \%ORACLE_HOME%\RDBMS\ADMIN.

Setelah itu table PLAN_TABLE dapatdigunakan seperti contoh berikut :
SQL>explain plan
Set statement_id=’test1’
Into plan_table for
Select * from karyawan where gaji=2000000;
Dalam PLAN_TABLE rencana eksekusi diatas dikenal dengan nama test1 yang terdefinisikan pada kolom statement_id.
Untuk melihat rencana eksekusi dari test1, digunakan perintah SELECT berikut :
SELECT LPAD (‘’,2*Level) | | Operation| |’ ‘| | Options| |’ ‘| | Object_Name Q_Plan
FROM plan_table
WHERE statement_id=’test1’
CONNECT BY PRIOR id=parent_id AND statement_id=’test1’
START WITH id=0 AND statement_id=’test1’;
Contoh hasil dari eksekusi query tersebut :
Q_PLAN  
                        SELECT STATEMENT
                        TABLE ACCESS FULL KARYAWAN

Output tersebut dibaca mulai dari  yang  menjorok paling dalam yaitu : TABLE ACCESS FULL KARYAWAN. Dikarenakan klausa WHERE melibatkan kolom gaji namun kolom gaji tidak ada index-nya, maka Oracle melakukan full table scan. Setelah seluruh table karyawan selesai dibaca, selanjutnya adalah SELECT STATEMENT yang berfungsi untuk menampilkan hasil query.

Tidak ada komentar:

Posting Komentar