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