同步資料涉及到的一些思考及解決

2021-08-31 15:41:25 字數 811 閱讀 7978

[list]

[size=medium]

設計到的問題-->>

[1]同步的記錄表資料由觸發器來控制還是程式?

[2]什麼時候做同步?

[3]資料量大的情況如何處理?

[4]同步時候標誌已經操作過的資料,下次操作的時候方便操作,此sql操作會涉及大量資料,怎麼效率較好?[/size]

[/list]

[size=medium]

[list]

[*]第乙個問題解決:觸發器簡單直接,不需要程式裡面寫很多東西,但是觸發器一多貌似不是什麼好事

[*]第二個問題解決:什麼時候同步可以由cron表示式和job來控制,但是你的**必須複雜一點。

[*]第三個問題解決:資料量大,每次處理資料分頁取,分頁處理,那麼此時跟分頁的原理一樣,每次記錄當前處理的條數,然後一次處理多少條,多少條你可以隨便指定(類似每頁顯示多少條),根據你資料庫的效能和系統資源。

[*]第四個檔案解決:標誌一般利用時間,但是主鍵是自增長的話,為什麼要去每次記錄時間去比較呢?用id不是更好嗎?每次操作取出上次操作的最後一條資料的id,再查詢當前資料庫最大的id數是多少,此時就形成了乙個id區間,那麼你的程式接下來就執行在這個id區間中,每次區也是在這個id區間取,如果資料量大,id區間每次指定一定範圍,把大區間劃分成n個小區間去處理。標誌什麼也省了,操作完資料我記錄他的id,不需要在更新資料庫裡面的標誌,更新標誌就屬於不好的設計。

[/list]

兩天時間就從思考到實現,解決了以上問題,我的tomcat原始碼,solr教程 struts2原始碼還沒時間看了,明天得看啊,等不及了,但今天實在沒精力了

[/size]

通訊涉及到的一些關鍵因素

1.編方式 注意 序列化和編碼的關係 序列化就是對特殊傳輸內容的一定編碼處理,如物件序列化。編碼方式是在序列化基礎之上的傳輸處理。如ms的序列化和反序列化的類庫,如下 binaryformatter formatter new binaryformatter 序列化mybook物件,序列化到myme...

郵件開發涉及到的一些基本概念

通過一張圖來說明一封郵件的傳送和接收過程,如下圖所示 簡單說一下這個郵件收發過程 yerenyuan10001 163.com使用者寫好一封email之後,傳送到163的smtp伺服器。對應於上圖的步驟 163的smtp伺服器開始處理yerenyuan10001 163.com使用者的請求,它會根據...

java專案中涉及到的一些物件總結

良好的開發規範,能顯著的提高開發效率。所以對涉及到的一些物件做一些總結。領域驅動設計系列文章 2 vo dto do po的概念 區別和用處 do domain object 領域物件,就是從現實世界中抽象出來的有形或無形的業務實體。有時候,do物件也可以對應資料庫表結構。po persistent...