Jeśli zarówno aplikacja, jak i serwer bazy danych znajdują się na tym samym komputerze, możesz skonfigurować wyzwalacz w MySQL, który zapisuje do pliku dziennika PO WSTAWIENIU, AKTUALIZACJI, a następnie tworzy FileSystemWatcher aby obejrzeć ten plik dziennika. FileSystemWatcher wystrzeli zdarzenia, gdy plik jest zmieniany na które Twoja aplikacja może zareagować.
Wyzwalacz może wyglądać mniej więcej tak:
create trigger MyTable_Monitor
after insert, update on MyTable
for each row
begin
select * from new into outfile "path/to/table.log"
end
Jednym z problemów, które widzę w powyższym kodzie, jest to, że pliku wyjściowego nie można dołączyć (najlepiej, co mogę powiedzieć), więc możesz mieć problemy, jeśli w jednym wywołaniu jest wykonywanych wiele zapytań (lub nawet wiele zapytań wykonywanych jednocześnie przez różnych klientów). Wszelkie sugestie dotyczące ulepszeń są mile widziane.