Tulisan
 
  Aktual dan Umum (10)
  Animasi Flash (1)
  Artikel (19)
  Browsing (5)
  Cerita dan Kisah (5)
  Cerita Lucu (3)
  Curhat (9)
  Data dan Internet Tutorial (2)
  HTML Tutorial (3)
  Islam dan Seputarnya (8)
  Java Programming (1)
  Java Script dan CSS (1)
  Linux dan Seputarnya (5)
  Networking dan Hardware (6)
  PHP Programming (14)
  Sudut Pandang (20)
  Teknologi Informasi (23)
  Tentang Database (2)
  Web Desain and Development (5)
  Windows dan Seputarnya (6)
 
Ngobrol Bareng Adi Sumaryadi langsung aja klik salah satu Messanger kesukaan anda:
Yahoo Facebook
Facebook Adi Sumaryadi

depanlastcomment
asyima puteri asyima puteri dalam Cintaku Kandas Juga Ditengah Jalan
Del Prio Del Prio dalam Tips Optimasi dan Mengontrol MySQL
ligan ligan dalam Pilihan Hosting Control Panel Gratis dan Opensource
sri sri dalam Mengedit Film Menggunakan Movie Maker
zacky zacky dalam Orang Jawa Cenderung Lebih Pede Ketimbang Orang Sunda
Judul
zacky
Tips Optimasi dan Mengontrol MySQL

Oleh : Adi Sumaryadi

Tips Optimasi dan Mengontrol MySQL

Buat anda yang baru saja mengenal database server jenis MySQL dan melakukan programming dengan sedikit data ataupun mempunyai pangakses sedikit tidak terlalu bermasalah dengan load server yang makin hari semakin berat. Saya pernah mengalami server hang karena kesalahan query yang melakukan join dua tabel yang masing-masing mempunyai record lebih dari 100 ribu record berisi postingan blog berbentuk text. Kejadian itu hingga menyebabkan server hang walaupun kondisi server masih terbilang bagus. Waktu itu saya menggunakan server bersistem operasi Solaris dengan memori 4 GB. Tapi tetap saja locked.

Saya coba evaluasi beberapa query dengan menginstall mtop terlebih dahulu, mungkin buat anda pengguna hosting akan kesulitan untuk menggunakan mtop, tapi coba saja yang versi webnya. dengan mtop saya bisa melakukan control untuk query yang membutuhkan resources yang sangat besar. bahkan saya bisa melihat query mana yang harus diperbaiki.

Setelah dievaluasi maka munculah beberapa tips yang bisa digunakan antara lain:

1. Lakukan konfigurasi maksimal pada my.cf, tentu cara ini hanya bisa dilakukan oleh anda yang mempunyai server sendiri.

2. Sebisa mungkin hindari join table, apalagi yang datanya sama-sama besar. Untuk join tabel sebaiknya gunakan inner join daripada left join atau right join.

3. Check indek-indek di tabel anda terutama untuk field-field yang sering di join. Secara default hal ini sudah dilakukan saat anda membuat primary key dan foreign key. Jadi anda jangan lupa untuk memasang primary dan foreign key di tabel anda.

4. Gunakan koneksi yang terus menerus, dengan kata lain jangan melakukan buka dan tutup konek kedalam mysql. hal ini justru akan semakin berat

5. Hindari penggunakan asterik atau bintang seperti select * from tbl_contoh, cara ini memang mudah dilakukan tapi jangan salah dengan melakukannya akan membuat database anda pusing untuk menampilkan data, jadi gunakan field yang memang benar-benar dibutuhkan misalkan select id,nama from tbl_contoh.

6. Lakukan clear memory dengan menambahkan script mysql_free_result($query) setelah melakukan query, cara ini cukup ampuh untuk mengurangi load server dan memori.

7. Pisahkan tabel yang sering sekali dilakukan update, misalkan saya mempunyai tabel member yang beranggotakan 100 ribu orang, untuk membuat statistik untuk member maka kita seharusnya membuat tabel statistik member yang lebih sederhana dan updating data lastlogin atau berapa kali login dilakukan di tabel statistik

8. Lakukan backup secara berkala, saya termasuk orang yang ceroboh untuk masalah ini dan beberapa kali melakukan hal yang sama, jujur dari tahun 2003 saya sudah 2 kali menangis akibat kehilangan ribuan data mysql yang sangat penting. Saat ini saya gunakan mirroring dan replikasi mysql ke server lain supaya lebih aman.

Inti dari semuanya adalah saya mengajak anda semua jangan malas untuk menghindari  * pada query atau menyisipkan msql_free_result di akhir query. karena semuanya sangat berpengaruh.

Ada komentar?


Cetak Tulisan Kirim Keteman Arsip Share ke Facebook


Tulisan lainnya :
- Membuat Bukutamu dengan PHP dan MySQL (Pra Advance)
- Mengenal Smarty Template Enggine
- Mengirimkan Email Format HTML dan Plaintext Menggunakan PHP
- Mengenal Web 2.0
- Membuat Welcome Page atau Splash Page di Joomla
Komentar
dedi 1 - Sabtu, 25 April 2009 15:32 WIB
dedi,helper junior programer di bandung
makasib bozz infoma, mudah2 kedepannya nulis lagi, biar ilmunya nambah juga, heheehheeh...........
Artista 2 - Rabu, 29 April 2009 23:10 WIB
Artista,wiraswasta di djogja
kalo mengenai kinerja db MySQl sendiri dengan komputer Client, apakah swicth Hub berpengaruh mas?
Adi Sumaryadi 3 - Kamis, 30 April 2009 07:12 WIB
Adi Sumaryadi,Wiraswasta di Bandung
Kalao server databasenya diakses melalui client memalui hub/switch akan pengaruh dong. Kecepatan disini yang pengaruh..dari kecepatan 10 Mbps - 100 Mbps dan 1 Gbps kan pasti sudah beda.
Anton Hilman 4 - Rabu, 16 Desember 2009 00:03 WIB
Anton Hilman,it di padang
mas query untuk artikel/berita yang paling banyak dikomentari gmna ya? tabel berita sama tabel komentar. helep plsz
Adi Sumaryadi 5 - Rabu, 16 Desember 2009 04:38 WIB
Adi Sumaryadi,Wiraswasta di Bandung
Hmm....sebetulnya gini, bisa menghitung dari jumlah komentarnya dulu atau selalu mengupdate field jumlah komentar di tabel berita ketika ada menambah atau mengurangi...nanti tinggal di query...ini akan menghasilkan data lebih cepat ketimbang harus menghitung komentar dulu atapun dengan dijoinkan. Kalau ada jumlah komentar di tabel berita maka tinggal quernya:

select idberita,judulberita from tbl_berita order by jmlcomment desc limit 1

Query diatas pasti akan menghasilkan berita yang paling banyak dicomment, jadi di script yang ada pastikan selalu mengupdate field jmlcomment setiap ada aktifitas comment.
Ries 6 - Minggu, 07 Februari 2010 16:27 WIB
Ries,Mahasiswa di Sukabumi
makasih mas atas tipsnya..
Del Prio 7 - Selasa, 20 Juli 2010 16:31 WIB
Del Prio,kuli di Solo
trims boz tipsnya bermanfaat
Nama Email
Alamat Pekerjaan
Homepage / Blog Notifikasi
Komentar

Masukan kata yang ada dalam gambar diatas
Kunjungan 1.041.930 klik
Website ini dibuat dan dimaintenance oleh Adi Sumaryadi 2007