Rabu, 10 Mei 2017

OPTIMALISASI DATABASE

Berikut merupakan beberapa hal yang digunakan untuk mengoptimalkan kinerja dari database :

  • Memahami Normalisasi Database 
    Normalisasi Database menghindari kesalahan laporan data dan double entri data.
  • Optimalisasi Index
    Gunannya untuk meningkatkan proses pencarian. Sebagai patokan gunakan field yang sering diakses dengan klausa WHERE, JOIN, ORDER BY, GROUP BY.
  • Menentukan Tipe Data
    Menentukan tipe data. Apakah menggunakan tipe data yang kecil atau yang besar, dengan seiring bertambahnya data setiap harinya. Penentuan tipe data memerlukan ketelitian dan analisis data yang dibutuhkan..hehehe jgn sampai datanya sedikit tapi tipe data yang digunakan malah tipe data yg besar.... hahahaha tidak apa2 sih....tp kalau tipe datanya kecil tpi datanya malah besar.. nah ini baru gawat......patokan: misalnya untuk kode pos butuh 6 digit anhka saja karena jumlah kode pos setahu saya sih 6 digit, nah maka kita dapat menggunaka tipe data text dengan memberikan maximal field 6 digit atau number dengan pilihan Byte sesuai dengan banyaknya data.
  • Kurangi Penggunaan Allow Null
    Jika memungkinkan ya kurangi field yang memperbolehkan inlai null. Sebaiknya kita memberikan nilai default pada field tersebut misal 0 nilai default untuk angka awal yang tidak diisi. nilai Null kadang rancu dalam pemrograman bahkan dapat mengakibatkan kesalahan logika.
  • Query Yang Mudah Dibaca
    SQL memang merupakan bahas declarative, tidak mengherankan memang kita menulis Query dalam bentuk kalimat yang panjang, walaupun hanya untuk menmbahkan 1 field.
  • Hindari SELECT*
    Select merupakan keuword yang paling sering digunakan, tapi ingat jang banyak menggunakan SELECT * yang berarti perintah mengakses field secara keseluruhan dalam suatu tabel, jika hanya ingin mengakses field tertentu saja gunakan Query SELECT Nama Field, hal ini akan mengurangi bebar jaringan dan Lock pada tabel, terutama dalam tabel tersebut memiliki field berukuran besar.
  • Batasi ORDER BY 
    Perintah ORDER BY berfungsi untuk mengurutkan data. ternyata memiliki konsekuensi menambah beban Query karena menambah satu proses lagi yaitu sortir. Gunakan ORDER BY jika memang benar2 diperlukan dalam program. Atau untuk lebih baiknya dapat juga melakukan proses sortir pada komponen grid sesuai kebutuhan pengguna.
  • Kecepatan Akses Operator
    WHERE 1=1 dan WHERE 0<>1 merupakan suatu kondisi yang sama menghasilkan nilai true, tapi lebih baik menggunakan WHERE 1=1, karena operator = diproses lebih cepat dibanding operator <>, berikut urutan operator yang diproses paling cepat:
    - =
    - >, >=, <, <=
    - LIKE
    - <> 
    NB: Tidak semua operator dapat disamakan dari urutan diatas tapi utamakan menggunakan operator dengan pengaksesan cepat.
  • Menyimpan Gambar dalam Database
    Jika ingin menyimpan gambar dalam database untuk keaman data, tidak menjadi masalah, tetapi yang perlu di ingat bahwa ukuran gambar relatif besar dari pada data dalam bentuk teks atau angka, jadi akan membuat ukuran besar, beban database akan semakin besar, hal ini akanmembuat proses backup dan migrasi semakin sulit untuk dilakukan.
  • Pengukuran Kinerja
    ada baiknya jika dilakukan pengukuran kinerja Query , seberapa cepat waktu eksekusi dan operasi apa saja yang dilakukan. Jika menemukan Query yang tidak OPTIMAL tulis ulang Query denga teknik dan metode yang lenih baik. Semakin banyak Query yang diOPTIMALKAN semakin baik kerja programnya. terutama Query dengan pemakaian yang relatif tinggi.
  • ValidasiTeknik 
    validasi merupakan teknik dimana dimana memberikan batasan-batasan akses dalam sebuah program. 
Gambaran Optimalisasi Database, terkait dengan hal sebagai berikut:
A. Storage efficiency and speed of access (Efisiensi penyimpanan dan kecepatan akses)
contohnya pada kecepatan akses pada operator.
B. Database performance (Kinerja database)
contohnya pada penyimpanan gambar pada database.
C. Query performance (Kinerja Query)
contohnya pada hindari SELECT dan ORDER BY

Tidak ada komentar:

Posting Komentar