[英]Comparing two rows for the same table multiple times
我有一個包含快照數據的SQLServer表。 我需要將最新行與上一行進行比較,並確定某些列是否已更改。 我需要多次比較不同的列組合(一次最多40個)。 每次列值在一種組合中都不相同時,我需要創建一個包含最新值的xml文檔。 我希望每一行至少產生一個xml文檔。
比較存儲的最佳位置是哪里,我應該在存儲的過程中執行此操作,每個列的組合都執行一次。 還是應該通過ADO.NET拉回整個行並在代碼中進行比較? 有比較簡單的方法嗎?
您沒有提供足夠的詳細信息(DDL,示例等)來知道這是否是您想要做的,但是...
在過去的類似情況下,我將在該表上創建一個觸發器,並將更改日志寫入另一個表。 然后讀取,處理和刪除這些排隊的更改條目。
在觸發器中,您可以查詢列的狀態以查看其是否已更新。
最初通過ADO.Net比較行似乎很麻煩 ,但很快就會變舊。 隨着數據量的增加,您的執行時間也會增加。
在SQL Server中進行比較是您最好的選擇。
通常 ,執行您要描述的工作的最佳(即最快)位置是盡可能地靠近數據,即在數據庫本身中。
就是說,我想知道您為什么這樣做,是否有可能從另一個角度解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.