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
- Mysql memiliki komponen scheduler yang biasanya mati secara default.
- 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
- Suatu event / kegiatan perlu dibuat (event adalah sesuatu yang harus dilakukan, yang biasanya kita rencanankan untuk dilakukan dalam suatu interval waktu tertentu)
- 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
- Akifkan event scheduler dengan mengetikkan perintah berikut
- Periksa bahwa event scheduler telah aktif
- Buat prosedur yang berisi proses yang sesuai keinginan anda
- Buat event dan schedule-kan untuk menjalankan store procedure yang telah dibuat
- Pastikan event sudah terdaftar dan silahkan pantau aktivitasnya
set global event_scheduler = on
show processlist
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\
create event myevent
on schedule every 1 hour
do
call coba kirim
show events
Selamat mencoba