Resume Desain Basis Data #2 : OPTIMALISASI DATA




halo guys! hola long time no see🙌



jadi kali ini seperti judul mata kuliah diatas, aku mau kasih tau kaliam dengan yang berhubungan dengan database yaitu OPTIMALISASI DATABASE
tapi kenapa harus di optimalin ? kenapa sih ? kenapa ? simpen aja dulu pertanyaannya jangan mikir jauh jauh karna kalian harus tau dulu dasar dasarnya salah satunya DATABASE. udah ngerti tentang database? belum ? yaudah simak deh simak~

(pic)

jadi database adalah sekumpulan data yang saling berhubungan satu sama lain. disimpan dalam sebuah perangkat dan di perilihatkan dalam bentuk tabel atau biasa di sebut record. jadi databse dalam sebuah perusahaan itu penting karna data data mereka akan tersimpan jadi satu tanpa ribet ribet. gitu.

lalu, apaitu optimalisasi database ?
Teknik optimasi database adalah hal yang cukup merepotkan pada database dengan jumlah record sedikit, namun akan sangat berguna bahkan bisa dibilang “sebuah kewajiban” untuk database dengan ribuan bahkan mungkin bisa membludak sampe ratusan ribu.

Berikut merupakan beberapa hal yang digunakan untuk mengoptimalkan kinerja dari database :
  • Memahami Normalisasi Database 
Normalisasi Database menghindari kesalahan laporan data dan double entri data. Misalnya..ada 2 nama petugas yang sama namun dengan alamat yang berbeda, jika itu dibuat dalam satu tabel tanpa dibantu kode petugas, tentu program akan kesulitan mengidentifikasi petugas tersebut.....kita aja bingung apalagi komputer...hahaha sepandai2 apapun komputer tapi dibuat oleh manusia...jadi mana yang lebih pandai??

  • Optimalisasi Index
Gunannya untuk meningkatkan proses pencarian. kita harus mengetahui field yang akan diindex karena tidak semua field memerlukan...Sistem pencarian dapat menggunakan index scan dan tabel scan...Apa itu index scan???....suatu proses pencarian yang dilakukan dengan membaca pada file index tidak langsung pada tabel sedangkan pada tabel index proses pencarian dilakukan langsung pada tabel database record per record........lalu apakah index scan lebih cepat dalam proses pencariann??? hmm belum tentu juga untuk data yang sedikit dan menmpilkan data secara keseluruhan tabel index bisa dibilang paling efektif namun jika untuk pencarian record denga data yang besar pada field tertentu, index scan merupakan cara yang paling efektif karena dapat mengurangi pembacaan I/O sehingga menghasilkan kinerja yang lebih cepat. I/O)Input/Output).
Sebagai patokan gunakan field yang sering diakses dengan klausa WHERE, JOIN, ORDER BY, GROUP BY.
  • Menentukan Tipe Data
Menentukan tipe data merupan gampang2 susah...Apakah menggunakan tipe data yang kecil atau yang besar, denganseiring 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....
hmm.....Sebaiknya ni dihindari penulisan Query yang panjang dalam satu kalimat selain nantinya kesusahan dalam memahami dan melakukan modifikasi cara tersebut kadang mebuat program untuk membaca perintah dari skrip. Pemilihan huruf besar dan kecil dpt mempermudah pembacaan misal: konsisten menuliskan dengan huruf kapital untuk keyword SQL, dan tambahkan komentar jika diperlukan untuk memudahkan identifikasi..........:)

  • 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. Jika ingin menyimpan gambar sebaiknya berupa link dari gambar tersebut...
  • 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.
  • Validasi
Teknik validasi merupakan teknik dimana dimana memberikan batasan-batasan akses dalam sebuah program. Silahkan cari kelemahan program dan berikan validasi untuk melindungi program dari kemungkinan penggunaan user yang dapat menyebabkan program error, karena tidak sesuai dengan standar penggunaan yang sudah dibuat....



source :
http://mozalora.blogspot.co.id/2013/04/optimalisasi-database.html
zenris.blogspot.com/2011/11/optimasi-database-mysql.html
 

Share:

0 komentar