表變數與臨時表在分布式事務中的應用效果差異

2021-08-26 10:28:41 字數 321 閱讀 3633

應用場景:將分公司的考勤資料儲存到總公司資料庫

實現方法:分公司考勤機將資料寫入公網的中轉資料庫,主資料庫計畫任務定執執行儲存過程,從中轉資料庫讀取考勤資料,寫入主資料庫後,將中轉資料庫資料轉存至歷史表並刪除原表記錄,這一過程通過分布式事務儲存過程完成。

在分布式事務儲存過程中,讀取資料的資料先用分別用表變數和臨時表儲存,主資料庫考勤表資料量為113萬筆,每次從中轉資料庫中取1000筆記錄的儲存過程效率差異如下:

儲存方式

執行時間

表變數17秒

臨時表4秒

通過這個結果來看,在分布式事務中,用臨時表的方式效率會高一些。

分布式系統中的分布式事務

分布式事務中可以借助mq訊息系統來進行事務控制,這一點與可靠訊息最終一致方案一樣。看來mq中介軟體確實在乙個分布式系統架構中,扮演者重要的角色。最大努力通知方案是比較簡單的分布式事務方案,它本質上就是通過定期校對,實現資料一致性。中介軟體如何保證訊息的一致性 問題的問法多種多樣,怎麼保證兩個伺服器的...

SQLServer中臨時表與表變數的區別分析

在實際使用的時候,我們如何靈活的在儲存過程中運用它們,雖然它們實現的功能基本上是一樣的,可如何在乙個儲存過程中有時候去使用臨時表而不使用表變數,有時候去使用表變數而不使用臨時表呢?臨時表 臨時表與永久表相似,只是它的建立是在tempdb中,它只有在乙個資料庫連線結束後或者由sql命令drop掉,才會...

SQL Server中臨時表與表變數的區別

sql server中臨時表與表變數的區別 2008 10 12 15 24我們在資料庫中使用表的時候,經常會遇到兩種使用表的方法,分別就是使用臨時表及表變數。在實際使用的時候,我們如何靈活的在儲存過程中運用它們,雖然它們實現的功能基本上是一樣的,可如何在乙個儲存過程中有時候去使用臨時表而不使用表變...