2011-07-05 76 views
1

我試圖找到儘可能快地保持我的客戶端更新和儘可能少的帶寬使用情況的最佳方法,當我的Sql Server 2008 R2數據庫發生更改時。查找OnChange事件源的SqlDependency

我已經設法讓SqlDependency OnChange事件起作用,這對於通知數據庫有變化時的確很有幫助,但對於保持帶寬使用率至少沒有什麼影響。

我正在開發的系統將會有超過100,000個產品,而且它只是一個巨大的浪費,每次都會做一個新的查詢,其中一個產品會得到更新。股票信息更改。

我正在尋找一種方法來查找產生OnChange事件的產品。 因此,我只需要查詢1個產品而不是100.000個產品。

回答

2

爲什麼在觸發OnChange事件時不能獲取更新的數據。將上次更新時間存儲在對象中,並查詢上次更新時間後更新的產品。然後,無論是更新產品還是將產品添加到您的產品列表中,這些產品都是基於您的產品中存在的身份

+0

這將是一種方法。雖然我希望有一些構建方法可行,但我不能成爲第一個解決這個問題的方法。 – gulbaek

+0

#hungryMind你知道SqlDependency是否可以設置爲僅對一列的機會做出反應?我添加了一個LastModified Column,我寧願如果該事件只在該列被更改時才執行。 – gulbaek

+0

我不這麼認爲是可能的。 – hungryMind