sql >> データベース >  >> RDS >> Sqlserver

SQL キャッシュ依存関係のパフォーマンスに関する質問

    ポーリング メカニズムを使用する SQL キャッシュの依存関係は、SQL サーバーまたはアプリケーション サーバーに負荷をかけるべきではありません。

    sqlcachedependency が機能し、それらを分析するためのすべての手順を見てみましょう:

    <オール>
  1. データベースは sqlcachedependency に対して有効になっています。
  2. 「Employee」というテーブルが sqlcachedependency に対して有効になっています。 (テーブルはいくつでも構いません)
  3. Web.config が更新され、sqlcachedependency が有効になります。
  4. SQL キャッシュの依存関係を使用するページが構成されています。それだけです。
  5. 内部的に:

    • ステップ 1. データベースにテーブル 'ASPnet_sqlcachetablesforchangenotification' を作成します。このテーブルには、sqlcachedependency が有効になっている 'Employee' テーブル名が格納されます。いくつかのストアド プロシージャも追加します。
    • ステップ 2. 「従業員」テーブル エントリを「ASPnet_sqlcachetablesforchangenotification」テーブルに挿入します。また、この「従業員」テーブルに挿入更新削除トリガーを作成します。
    • ステップ 3. 接続文字列と polltime を提供して、sqlcachedependency のアプリケーションを有効にします。

    「従業員」テーブルに変更があるたびに、トリガーが起動され、「ASPnet_sqlcachetablesforchangenotification」テーブルが更新されます。現在、アプリケーションは 5000 ミリ秒ごとにデータベースをポーリングし、「ASPnet_sqlcachetablesforchangenotification」テーブルへの変更をチェックします。変更がある場合は、それぞれのキャッシュがメモリから削除されます。

    データの鮮度と組み合わせたキャッシングの大きな利点 (データは最大で 5 秒古くなる可能性があります)。ポーリングはバックグラウンド プロセスによって処理され、パフォーマンスのハードルにはなりません。上記のリストからわかるように、このタスクは CPU の要求が最も低いためです。



    1. SQLで2つの文字列の差分を見つける方法

    2. エスケープテーブル名MySQL

    3. 小数点以下2桁の数値を書くSQLServer

    4. Canonical:HTMLフォームデータをMySQLデータベースに保存する方法