Senin, 07 Januari 2013

Post 9 : Optimasi Query

OPTIMASI PERINTAH QUERY

               Dalam mendesain database untuk menampilkan hasil query dibutuhkan pencarian yang harus melibatkan struktur fisik penyimpanan data. Intinya adalah untuk meminimize kan "jalur" pencarian untuk menemukan data yang disimpan dalam lokasi fisik.
               Indeks pada database digunakan untuk meningkatkan kecepatan akses data. Pada saat query dijalankan, indeks mencari data dan menentukan nilai ROW ID yang membantu menemukan lokasi data secara fisik di disk. Dan sebaliknya jika penggunaan tidak tepat tidak akan meningkatkan untuk kerja , dalam hal ini kecepatan akses data.


misal digunakan index melibatkan 3 buah kolom yang mengurutkan kolom menurut nim ,nama dan prodi dari tabel mahasiswa :
CREATE INDEX idx_nim_nama_prodi

ON mahasiswa ( nim, nama, prodi)
TABLESPACE INDEX;

Kemudian user melakukan query :
SELECT *FROM mahasiswa WHERE prodi='Elektro';

PERENCANAAN QUERY

             Ketika ingin melihat jalur akses yang akan digunakan database saat melakukan query yaitu menggunakan perintah explain plan tujuannya adalah untuk memberi informasi tentang perencanaan eksekusi dari suatu query. Dan disimpan dalam tabel PLAN_TABLE yang ada di schema user yang mengeksekusi perintah tersebut.


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

Setelah itu tabel PLAN_TABLE dapat digunakan :

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
terdefinisi pada kolom statement_id.


FAKTOR LAIN YANG BERPENGARUH TERHADAP KECEPATAN AKSES DATA


Di antaranya adalah:
1. Optimasi Aplikasi

2. Penggunaan cluster dan index

OPTIMASI APLIKASI

- Koefisien akses data (meliputi kecepatan akses seperti index atau cluster)
- Normalisasi
- Denormalisasi

CLUSTER DAN INDEX


           Pengertian Cluster itu sendiri adalah suatu segment yang menyimpan data dari tabel yang berbeda
dalam suatu struktur fisik disk yang berdekatan. bermanfaat untuk
akses data dari beberapa tabel yang sering di-query.

           Jika aplikasi sering melakukan query dengan menggunakan suatu kolom yang
berada pada klausa WHERE, maka harus digunakan index yang melibatkan kolom
tersebut. Penggunaan index yang tepat bergantung pada jenis nilai yang terdapat dalam
kolom yang akan diindex.




0 komentar:

Posting Komentar

animasi  bergerak gif