2010年7月16日 星期五

SQL Server 的 BINARY_CHECKSUM

為了 Update data 的效能及減少 Log 檔大小
在 Update 之前都要先檢查資料是否有異動
一檢查可能就是十幾個欄位在做 Equal to 的比較

SQL Server 本身提供一個 BINARY_CHECKSUM 的 function
input 幾個欄位, 它就會算出這些欄位值的 Check Sum (整數)
所以只要比對 Check Sum 是否相等, 即可知道是否有異動

用法如下
SELECT * FROM TableA, TableB
WHERE TableA.ID = TableB.ID
AND BINARY_CHECKSUM(TableA.Col1,TableA.Col2) <>
BINARY_CHECKSUM(TableB.Col1,TableB.Col2)

參考 TechNet

沒有留言:

張貼留言