多くの計算を表示するソフトウェアでDelphiとFirebird DBを使用しています。要件に応じて、他の依存テーブルが更新されるたびに合計を保存して表示する必要があります。
現在、いくつかの TIBTable コンポーネントに対して refresh メソッドを使用して、これらの計算結果をユーザーに表示しています。これがマルチユーザーアプリであり、更新により投稿が遅くなるという事実を考慮すると、更新またはより最適化された方法に代わるものはありますか?
クライアントが通知を受信する必要があるマルチユーザー アプリケーションの場合、1 つのオプションは、Firebird イベントを使用して、データ変更 (SQL INSERT、UPDATE、または DELETE) ごとに「ブロードキャスト」メッセージを送信することです。
クライアントは特定のメッセージ タイプを「登録」(リッスン) することができ、Firebird サーバーがこのタイプのメッセージを送信するたびに、それを受信し、クライアント アプリケーション コードを実行します。合計。
多くの単純なユースケースではこれで十分な解決策ですが、いくつかの制限もあります。私は最近、このトピックについてここでブログを書きました:
(私は Delphi と Free Pascal のミドルウェア ライブラリの作者です)