Pertimbangan Performansi dalam Aplikasi

Performansi / kecepatan operasi ke basis data ditentukan oleh:
  • DBMS yang digunakan
  • Arsitektur perangkat keras yang menjadi platform
  • Jumlah pemakai yang terlibat
  • Volume data
  • Tingkat kompleksitas operasi basis data
  • Cara penulisan aplikasi
Hal-hal yang perlu dipertimbangkan pada saat melaksanakan program

1. Memanfaatkan Indeks Primer

Sedapat mungkin memanfaatkan indeks primer / sekunder dalam setiap proses query ke basis data, contoh:
  • Select.... From pegawai where idpegawai = vidpegawai
  • Update pegawai set.... Where idpegawai = vidpegawai
  • Delete from pegawai where idpegawai = vidpegawai
Menghindari pemakaian fungsi atau perhitungan pada perintah query, terlebih lagi untuk kriteria query. Contoh:
  • Select '01'+left(nomhs,2) as vthn from mahasiswa where... Diganti menjadi: Select nomhs as vnim from mahasiswa where thn_masuk = '01'+left(vnim,2)
  • Select... from kuliah where left(kdmtk,3)='TFD' Diganti menjadi: Select... from kuliah where kdmtk like 'TFD%'
Kenapa beda? Pada arsitektur cilent-server:
  • pada perintah yang asal (belum diperbaiki) maka pengerjaan pencarian data dan penerapan fungsi dilakukan diserver
  • pada perintah perbaikan, karena dibuat fungsi dan perhitungan bukan merupakan bagian dari perintah query, maka server hanya akan melakukan pencarian data, sedangkan pengerjaan mengenai fungsi dilakukan di client
Pada contoh kedua, pada perintah asal tidak memanfaatkan kunci primer. Sedangkan pada perintah perbaikan menggunakan kunci indeks primer.

2. Operasi Join

Operasi join pada beberapa tabel dapat digunakan untuk mengefisienkan perintah dan sekaligus banyaknya data yang harus ditangani. Contoh: Ada dua perintah:
  • Select kdmtk as vkdmtk, nilai as vnilai from nilai where nomhs=vnomhs
  • Select sks as vsks from kuliah where kdmtk=vkdmtk
Dapat digabungkan menjadi: Select a.nilai as vnilai, b.sks as vsks from nilai a, kuliah b where a.nomhs=vnomhs and a.kdmtk=b.kdmtk

3. Melepaskan Kunci Tabel

Pada sistem multi-user dengan tingkat konkurensi tinggi (pemakai yang aktif banyak), sesegara mungkin melepaskan penguncian tabel di akhir setiap query. Karena proses dilakukan dalam dua tahap, yaitu menyimpan secara sementara di buffer memory lalu menuliskan ke dalam disk. Untuk membatalkan ada perintah rollback. Contoh: Insert into nilai (nomhs, kdmtk) values (vnomhs, vkdmtk) Commit -> untuk merekam ke disk

4. Memanfaatkan Fungsi-fungsi DBMS

Manfaatkan sebanyak mungkin fungsi-fungsi yang telah disediakan DMS ataupun development tools yang terkait dengan operasi basis data. Select count (*) as vjumlah from mahasiswa where nomhs=vnomhs If vjumlah=0 then Echo "Tidak ketemu.." Else Select nama as vnama from mahasiswa where nomhs=vnomhs Endif Akan lebih baik, jika diganti menjadi: Select nama as vnama from mahasiswa where nomhs=vnomhs Inquire_sql (jumlah=rowcount) If vjumlah=0 then Echo "Tidak ketemu..." Else Echo "Nama: ";&vnama Endif

5. Menempatkan Perintah yang Tidak Relevan di Luar Perulangan

Jika ada perintah perulangan (looping) dengan penelusuran seluruh basis data pada sebuah tabel, sebisa mungkin menempatkan berbagai perintah yang tidak relevan di luar perulangan. Contoh: Algoritma tersebut dapat diperbaiki menjadi:

Komentar 0

Related Posts