Faktor
lain yang berpengaruh terhadap kecepatan akses data, tidak hanya terletak pada
optimasi perintah SQL, tapi terhadap hal-hal lain yang berpengaruh. Diantaranya
adalah optimasi aplikasi dan penggunaan cluster dan index.
Hal yang akan
dibahas dalam optimasi query
berikut ini tidak
melibatkan penggunaan komponen
yang ada dalam Arsitektur database
engine, misal pada
database Oracle kecepatan
akses data dipengaruhi oleh
penyesuaian pada shared pool, buffer cache, redo log buffer dan sistem operasi
yang digunakan.
Optimasi Aplikasi
Dalam
pembuatan aplikasi, yang perlu mendapat perhatian adalah apakah akses terhadap
data sudah efisien. Efisien dalam hal penggunaan obyek yang mendukung kecepatan
akses, seperti index atau cluster. Kemudian juga bagaimana cara database
didesain. Apakah desain database sudah melakukan normalisasi data secara tepat.
Kadangkala normalisasi sampai level yang kesekian, tidak menjamin suatu desain
yang efisien. Untuk membuat desain yang lebih tepat, kadang setelah melakukan
normalisasi perlu dilakukan denormalisasi. Misalnya tabel yang hubungannya
one-to-one dan sering diakses bersama lebih baik disatukan dalam satu tabel.
Cluster dan index
Cluster adalah suatu
segment yang menyimpan data dari tabel yang berbeda dalam suatu struktur fisik
disk yang berdekatan. Konfigurasi ini bermanfaat untuk akses data dari beberapa
tabel yang sering di query. Penggunaan cluster secara tepat dilaksanakan
setelah menganalisa tabel-tabel apa saja yang sering di query secara bersamaan
menggunakan perintah SQL join.
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 bergantung pada jenis nilai yang melibatkan kolom tersebut. Penggunaan
index yang tepat bergantung pada jenis nilai yang terdpat dalam kolom yang akan
diindex. Dalam RDMS Oracle, index B-Tree digunakan untuk kolom yang mengandung
nilai yang cukup bervarriasi sedangkan untuk nilai yang tidak memiliki cukup
variasi, lebih baik menggunakan index bitmap.
Tidak ada komentar:
Posting Komentar