Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
MySQL Event Kullanımı
#1
Eventler, MySQL'e  5.1.6 Sürümünden sonra gelen Zamanlanmış Görevler özelliğidir ve varsayılanda kapalıdır.

Öncelikle Aşağıdaki komutla bu özellik açılır.
SET GLOBAL event_scheduler = 1;


Şimdi bir senaryo üzerinde anlayalım, benim sürekli hata analizleri için kullandığım bir kaç tabloyu daha fazla şişmemesi için belirli periyotlarla silmek ve optimize etmek istiyorum. 
Son 3 günüm kayıtları benim görüp analiz etmem için yeterli, gerisine gerek yok...

Eventime bir isim veriyorum cleaner,
CREATE EVENT cleaner

ve sayacımı ayarlıyorum, ben bu eventimin 2016-06-18 19:00:00 tarihinden başlayarak, her 24 saatte bir çalışmasını istiyorum.  yani her gün saat 19:00:00 da bu eventim çalışacak,
ON SCHEDULE EVERY 24 HOUR STARTS '2016-06-18 19:00:00'

Kullanabileceğimiz İnterval'ler

Alıntı:YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND



Ve  BEGIN    END bloğuma çalışmasını istediğim sql cümlelerimi yazıyorum.

delimiter |
CREATE EVENT cleaner
ON SCHEDULE EVERY 24 HOUR STARTS
DO
BEGIN   
  DELETE FROM llpano WHERE tarih < DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY);
  DELETE FROM ops_havuz WHERE tarih < DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY);
  DELETE FROM ops_havuzlog WHERE tarih < DATE_SUB(CURRENT_DATE, INTERVAL 3 DAY );
  SET @maxid = 0 ;
  SELECT ifnull(max(id),0) INTO @maxid FROM ops_ptt;
  DELETE from ops_ptt WHERE id < (@maxid-1000);
  OPTIMIZE TABLE llpano;
  OPTIMIZE TABLE ops_havuz;
  OPTIMIZE TABLE ops_havuzlog;
  OPTIMIZE TABLE ops_ptt;
END |   
delimiter;


Mysql'de var olan Eventlerimi listelemek için,
SHOW EVENTS;

Event Statüsünü Değiştirmek İçin,
ALTER EVENT cleaner DISABLE;
ALTER EVENT cleaner ENABLED;

Event Zamanını Değiştirmek İçin,
ALTER EVENT cleaner 
ON SCHEDULE EVERY 12 HOUR;

Event Silmek İçin,
DROP EVENT cleaner 


Daha Fazla Bilgi İçin Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#2
Güzelmiş, hiç haberim yoktu. İşime yarıycak bişi. Sağolasın.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#3
Paylaşım için teşekkürler.
There's no place like 127.0.0.1
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  MySQL vs MariaDB. Hangisi tercih edilmeli? uparlayan 4 197 18-06-2018, Saat: 15:14
Son Yorum: vkamadan
  MySQL - SQL Tablo Kontrolü hyperxman 3 130 26-05-2018, Saat: 13:11
Son Yorum: hyperxman
  Soru : MySQL Veritabanı' nda Explode İşlemi Nasıl Yapılır mad85 9 446 22-03-2018, Saat: 21:48
Son Yorum: uparlayan
  MySQL SP recover.. mcuyan 6 304 06-01-2018, Saat: 17:07
Son Yorum: mcuyan
Question MySQL ve MsSQL Md5 Fonksiyon Sonuçları Eşleşmiyor frmman 6 367 22-12-2017, Saat: 09:25
Son Yorum: frmman



Konuyu Okuyanlar: 1 Ziyaretçi