2011-07-05 5 views
1

私のクライアントを可能な限り速く、可能な限り少ない帯域幅で、SQL Server 2008 R2 DBに変更を加えたままで、最新の状態に保つ最良の方法を見つけようとしています。 。SqlDependencyがOnChangeイベントのソースを見つける

私はSqlDependency OnChangeイベントを有効にすることができましたが、これはDBに変更があったときに通知するのに役立ちますが、帯域幅の使用を最小限に抑えることはほとんどありません。

私が開発しようとしているシステムは、100,000以上の製品があり、そのたびに大量の無駄があり、毎回新しいクエリを実行しています。株式情報が変更されます。

OnChangeイベントの原因となった製品を見つける方法を探しています。 私は、100,000個の製品の代わりに1個の製品のみを照会する必要があります。

答えて

2

OnChangeイベントが発生したときに更新されたデータのみを取得してみませんか?オブジェクトに最後の更新時間を格納し、最後の更新時間後に更新された製品を照会します。次に、あなたの製品リストに製品を追加するか更新するかのどちらかがあります。

+0

これはその方法の1つです。私はこの問題で最初になることはできないので、私はそれを行う方法でいくつかのビルドを望んでいましたが。 – gulbaek

+0

#hungryMind SqlDependencyを1つの列のチャンスだけに反応するように設定できるかどうかは分かりますか?私はLastModified Columnを追加しました。そのカラムが変更されたときだけイベントが実行された場合には好きです。 – gulbaek

+0

そうは考えにくいです。 – hungryMind

関連する問題