データベーステーブルを監視するダッシュボードを作成しています。私はデータベースにアクセスできます(アプリケーション層はありません)。テーブルはかなり大きい(1,000万行)が、急速に変化しない(1分あたり100挿入/更新)
テーブルが変更されたかどうかを確認するにはどうすればよいですか?私は毎秒データベースにアクセスしようとしますが、これはブルートフォースアプローチのようです...
データベース:MySQL/Postgres
トリガーを使用できます。
CREATE TRIGGER notifyMe
ON table1
AFTER INSERT, UPDATE, DELETE
AS
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB AutoMailer',
@recipients = '[email protected]',
@body = 'The DB has changed',
@subject = 'DB Change';
GO
PostgreSQLの場合、行が変更されたときにデータベースから通知を受け取る方法を知っています。
my code または PostgreSQLのドキュメント を参照してください。
通知は信頼できる通知ではないようですが、少なくとも私には有効です。