簡體   English   中英

多次比較同一張表的兩行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM