Thursday 14 May 2009

Tuning Kinerja Database

Pekerjaan seorang database administrator pun memerlukan seni.Hal ini tidak berlebihan karena melakukan tuning database memerlukan kreativitas dan tentunya juga pengetahuan yang memadai.

Apa saja yang dapat di-tune agar menghasilkan performa database yang jauh lebih baik? Diantaranya adalah :

1. Konfigurasi Database Server

Secara default,umumnya setiap DBMS telah memiliki konfigurasi awal.Jika akan melakukan tuning dengan mengubah konfigurasi,hasilnya tidak selalu tampak sesaat setelan kamu menerapkan konfigurasi baru.
Adakalanya kamu perlu membiarkan server berjalan selama beberapa jam dan mengukur sejauh mana konfigurasi kamu berpengaruh terhadap kinerjanya.

2. Optimasi Pemanggilan Query

Bagaimana aplikasi melakukan manipulasi data?Beberapa pilihannya adalah dengan menggunakan method ADO,dynamic SQL (ad hoc query),ataupun stored procedure.
Menggunakan method ADO adalah menggunakan berbagai metode seperti rs.AddNew,rs.Update,atau rs.Delete.Cara ini relatif mudah untuk di pelajari dan di implementasikan,tetapi terkadang menghasilkan traffic yang besar pada jaringan,terutama jika aplikasi kamu mengolah data yang besar.
Cara lain adalah dengan menggunakan dynamic SQL,di mana kamu mengirimkan perintah Transact-SQL dalam bentuk string dari aplikasi agar di jalankan oleh database server.Umumnya menggunakan dynamic SQL akan lebih cepat di bandingkan dengan method ADO.
Tetapi karena database server menerimanya dari aplikasi kamu,maka harus di lakukan kompilasi kode Transact-SQL tersebut,menciptakan query plan dapat digunakan lagi kemudian sehingga mempercepat proses berikutnya.
Untuk kinerja yang optimal,kamu dapat mempertimbangkan stored procedure.Stored procedure memiliki kinerja yang lebih baik dan mengurangi traffic dan latency jaringan.

3. Gunakan JOIN dengan Tepat

Menggunakan perintah JOIN tampaknya sudah menjadi keharusan saat kamu bekerja dengan banyak tabel.Penggunaan join yang tidak tepat dapat mengakibatkan permasalahan dalam kinerja database kamu.
Jika kamu memiliki dua atau lebih tabel yang sering melakukan join,sebaiknya kolom yang di gunakan untuk join memiliki unique index,atau memiliki surrogate key agar mengurangi pembacaan I/O selama proses join.Tentunya hal ini akan lebih mengoptimalkan kinerja secara keseluruhan.
Kolom yang di gunakan untuk join sebaiknya memiliki tipe data yang sama,dan jika di mungkinkan memiliki tipe data numeric daripada karakter.
Jika proses join sampai melibatkan empat atau lebih tabel untuk mendapatkan record yang kamu inginkan,pertimbangkan untuk melakukan denormalisasi agar jumlah tabel yang di join dapat berkurang.
Terkadang hal ini di perlukan dengan pertimbangan kinerja database akan jadi lebih baik,jika kita menambahkan satu atau dua kolom tambahan agar dapat mengurangi jumlah tabel join yang terlampau banyak.

Comments :

0 comments to “Tuning Kinerja Database”


Post a Comment