Kamis, 13 Desember 2012

Optimasi Query



Data yang tersimpan dalam database semakin lama akan semakin besar ukuran atau volumenya. KAlau tidak didukung dengan kecepatan akses yang memadai maka akan semakin menurun unjuk kerjanya. Ukuran unjuk kerja dalam hal ini kecepatan akses data dipengaruhi oleh banyak factor.

A.      Optimasi pada Perintah SQL
Desain palikasi saja tidak cukup untuk meningkatkan unjuk kerja harus didukung sengan optimasi dari perintah SQL yang digunakan pada aplikasi tersebut. Dalam mendesai database, seringkali lokasi fisik data tidak menjadi perhatian penting. KArena hanya desain logic saja yang diperhatikan. Padahal untuk menampilkan hasil query dibutuhkan pencarian yang melibatkna struktur fisik penyimpanan data. Inti dari optimasi query adalah meminimalkan jalur pencarian untuk menemukan data yang disimpan dalam lokasi fisik.
Index pada databse digunakan utnuk meningktakan kecepatan akses data. Pada saat query dijalankan, indec mencari data dan menentukan nilai ROWID yang membantu menemukan lokasi data secara fisik. Akan tetapi penggunaan index yang tidak tepat, tidak akan meningkatkan unjuk kerja dalam hal ini kecepatan akses data.

B.      Perencanaan Eksekusi
Pada database Oracle, informasi ini dapat dilihat dengan menggunakan perintah explain plan, yang akan memberi informasi tentang rencana eksekusi dari suatu query. Informasi ini disimpan dalam table PLAN_TABLE yang terdapat di skema user yang mengeksekusi perintah tersebut.

C.      Faktor Lian yang Berpengaruh terhadap Kecepatan Akses Data
                                     Faktor lain yang berpengaruh terhadapa kecepatan akses data, tidak hanya terletak pada optimasi perintah SQL, tetapi terhadap hal-hal lain yang berpengaruh. Diantaranya adalah optimasi apliakasi dan penggunaan cluster dan index.

D.      Optimasi Aplikasi
Dalam pembuatan aplikasi, yang perlu mendapat perhatian adalah apakah akses terhadap suatu data usdah efisien atau belum. Efisien dalam hal penggunaan obyek mendukung kecepatan akses, seperti index dan cluster. Kemudian juga bagaimana cara databse di desain. Apakah desain database sudah melakukan normalisasi data secara tepat.
Terkadang normalisasi sampai level yang kesekian, tidak menjamin suatu desain yang efisien. Untuk membuat desain yang lebih tepat, kadang setelah melakukan normalisasi perlu dilakukan denormalisasi. Mislanya table yang hubungannya one-to-one dan sering di akses bersama lebih baik disatukan dalam satu table.

E.       CLUSTER dan INDEX
CLUSTER adalah suatu segment yang menyimpan data dari table yang berbeda dalam suatu struktur fisik disk yang berdekatan. Konfigurasi ini bermanfaat untuk akses data dari beberapa table yang sering di-query. Penggunaan cluster secara tepat dilaksanakan setelaah menganalisa table-table mana saja yang sering di-query secara bersamaan menggunakan perintah SQL.
Jika aplikasi sering melakukan query dengan menggunakan suatu kolom yang berada pada klausa WHERE, maka harus digunakan indec yang melibatkan kolom tersebut. Pengguanan index yang tepat bergantung pada jenis nilai yang terdapat dalam kolom yang akan diindex. Dalam RDBMS Oracle, index B-Tree digunakan untuk kolom yang mengandung nilai yang cukup bervariasi, sedangkan untuk nilai yang tidak memiliki variasi cukup banyak, lebih bail menggunakan index bitmap.

Tidak ada komentar:

Posting Komentar