更新を確認するテーブルの名前と変更番号を保持する新しいテーブルがデータベースに作成されます。 sqldependency 用に設定した各テーブルには、先ほど説明した新しいテーブルの changeid をインクリメントする更新/挿入用のトリガーが設定されています。
これがどのように機能するかについてのあなたのメンタルモデルは逆です。アプリケーションはログをチェックして、テーブルが変更されたかどうかを判断します。
したがって、変更ログ テーブル (私はそう呼んでいます) がデータベース内の 2 つのテーブル (製品、ユーザー) を追跡している場合、次のようになります。
+テーブル名 + ChangeNumber +|製品 | 1 |+----------+--------------+|ユーザー | 1 |+----------+--------------+コード> プレ>
これらのテーブルのいずれかで何かを変更すると、トリガーは ChangeNumber
を増やします
明らかにこれには他にもありますが、これが一般的な考え方です。
注:1 つまたは複数のテーブルが変更された場合、ページを無効にすることができることに注意してください。そのため、ページにこれらのテーブルの両方に依存関係が設定されている場合、それらのいずれかが変更されると、キャッシュされたページが無効になり、更新されたページが再キャッシュされます。バージョン。