MySQL Performance Blog'a göre, dün (6 Mayıs) açıklanan yeni Percona Sunucuları, MySQL Denetim Eklentisinin açık kaynak sürümünü içerir.Tetikleyiciler kaskadı tarafından yapılan tekli sorgulama sırasında hangi tablolar etkilendi
Yapmak istediğim görev: tek bir güncelleştirme sorgusu çalıştırması sırasında kademeli tetikleme yürütme tarafından etkilenen tabloları günlüğe kaydetme. Örneğin. UPDATE MY_TABLE …
yürütüldüğünde, {BEFORE,AFTER}_UPDATE
tetikleyicileri, kendi tetikleyicileri vb. olabilecek diğer tabloları güncelleştirebilir.
Şu anda iç çözümü kullanıyorum; Ben tanımlanan my_own_log
prosedür yok üretiminde
IF (
SELECT count(*)
FROM `information_schema`.`ROUTINES`
WHERE specific_name = 'my_own_log'
AND routine_schema = 'my_schema'
) > 0 THEN
CALL my_own_log ('FOO_TRIGGER', 'Hi, I’m to update MY_TABLE') ;
END IF ;
ve information_schema
tablo iyi optimize edilir çünkü, herhangi bir performans yasal vermeyen: içindeki tüm Gibi ettirmek koymak tetikler. Tabloları kademeli tetikleyici yürütme etkilenen hakkında bilgi toplamak için işletme çözeltisi (yukarıda belirtilen audit
eklenti) geçiş olabilir
sorudur. JFYI: here'u bulduğum tek benzer soru geçerli bir cevapla birlikte verilmiyor.
Önerileriniz için teşekkür ederiz.
Belki bu jantlar henüz icat edilmemiştir. Gereksinim çok sıradışı. Sen size sonuçları belirlemektir eylem olasılık rota çeşit kullanmadıkça, sadece statik analizle, çalıştırmadan önce herhangi bir sorgu eylemlerini anlatmak mümkün olmalıdır, tetikleyiciler, FKs zaten orada verilen, bkz. DML ifadelerinizin nerede hareket edeceğini önceden bilmemek çok sıra dışıdır. – kurast