台灣最大程式設計社群網站
線上人數
2079
 
會員總數:240362
討論主題:186354
歡迎您免費加入會員
討論區列表 >> MS SQL >> 資料同步另一個table怎麼處理比較好?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
資料同步另一個table怎麼處理比較好?
價值 : 100 QP  點閱數:358 回應數:3

樓主

studycode
門外漢
0 30
807 63
發送站內信

我有個table,有變更資料的話要即時將資料處理並轉換再同步另一個table,
例如DB1.prod有變更,要同步DB2.prod,
DB1.prod的資料經常在變動,且有可能同時新增幾百筆。
有想過兩種方式,請問:
一、寫trigger,會不會loading很大?
二、用sql的排程,每秒檢查尚未同步的資料,但發現排程最短只能10秒,想設定1秒,存檔後會被改回10秒!為何最小單位只能10秒呀?

還有沒有其他方式呢??

謝謝。

搜尋相關Tags的文章: [ sql ] , [ schedule ] , [ 排程 ] ,
本篇文章發表於2017-02-24 17:16
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

QOO
捐贈 VP 給 QOO 檢舉此回應
個人覺得1是比較適當的方法

若是設定排程的話,DB是一直在詢問(10秒問一次),trigger的話,是有異動才動作

loading會不會很大,要看你trigger後執行的sql語法

如果你的語法很複雜,加上異動的頻率高,一定是很吃資源的

比方說,你的trigger裡面包含了大量資料撈取,然後還要運算,統計,最後再大量的寫入,那肯定運作不來的

盡量將你的作業單純化,有助於你DB的效率


另外有關於排程小於10秒的設定,有查到這樣的解,你可以參考看看

How to schedule jobs in Sql server 2008 for less than 10 sec
本篇文章回覆於2017-02-24 18:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
用複寫 設定一下就好 不過也是10秒 還OK的

不然 就 select into 也不賴
本篇文章回覆於2017-03-02 05:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

studycode
檢舉此回應
*我這個資料表的異動有熱門和冷門的時間,設定排程,DB會一直詢問好像也不太好,那看來用trigger還是比較適合~

*複寫有試一下,但是不知是不是我不會用,它只能選固定的欄位,我兩個table的欄位名稱是不一樣的,且資料型態也不完全相同,必須處理過後才同步另一個table,用複寫好像不能讓我處理資料再存到另一個table的特定欄位 > <

感謝兩位!!
本篇文章回覆於2017-03-02 10:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.