Kamis, 09 Juni 2016

Menjadwalkan Aktivitas di MySql

Pendahuluan


Kadang database MySql yang kita miliki memerlukan perawatan secara berkala, baik yang harus dilakukan dalam interval jam, hari, minggu, bulan, maupun tahun. 

Perawatan berkala yang biasa dilakukan misalnya, reorganisasi index, memindahkan data pada satu tabel ke tabel lainnya, export atau import  data dan masih banyak lagi.

Perawatan berkala tadi dapat dilakukan secara otomatis dengan membuat event dan schedule di mysql, berikut ini penjelasannya.

Konsep

  1. Mysql memiliki komponen scheduler yang biasanya mati secara default.
  2. Proses yang harus dijadwalkan kadang cukup kompleks, sehingga tentunya proses tersebut akan lebih mudah dibuat dalam suatu  prosedur, sehingga tentunya anda perlu tahu bagaimana cara membuat prosedur di MySql
  3. Suatu event / kegiatan perlu dibuat (event adalah sesuatu yang harus dilakukan, yang biasanya kita rencanankan untuk dilakukan dalam suatu interval waktu tertentu)
  4. Suatu event dapat kita schedule-kan / jadwalkan untuk berjalan pada saat tertentu, jika anda perhatikan pada point 3 maka yang dimaksud dengan schedule adalah kalimat "interval waktu tertentu"

Praktek

  1. Akifkan event scheduler dengan mengetikkan perintah berikut

  2. set global event_scheduler = on
  3. Periksa bahwa event scheduler telah aktif

  4. show processlist
  5. Buat prosedur yang berisi proses yang sesuai keinginan anda

  6. create procedure kirim()
    begin
    select now(),now(),now(),'23:59:59','00:00:00',notelp,jenis_keperluan,id_jadwal
    from sengketa.jadwal, sengketa.anggota 
    where sengketa.jadwal.id_anggota=sengketa.anggota.id_anggota
    insert into sms.outbox;
    end\

  7. Buat event dan schedule-kan untuk menjalankan store procedure yang telah dibuat

  8. create event myevent     on schedule every 1 hour     do     call coba kirim

  9. Pastikan event sudah terdaftar dan silahkan pantau aktivitasnya

  10. show events

Selamat mencoba