關於資料初始化的一些筆記

2021-09-14 02:29:31 字數 610 閱讀 9035

最近有乙個需求,是需要對線上的一些存量資料進行初始化,在投產當天,出現了效能問題,主要是使用了 update select 這種語法。

ps:使用的資料庫是db2.

背景: 由於是銀行信貸系統,部分表資料量比較大,需要關聯(join)的表也比較多。

當時由於沒有經驗,直接使用update select 語法,而且 後面的 select 語句寫的比較複雜(這個和當時需求有關係)。而且主要是需要關聯到乙個 流程資料表,這個流程資料表 的資料量比較大,百萬級的資料。 當時直接關聯這個表,以及其他的業務表,還做了分組排序等處理,導致執行效率很慢,超過了30分鐘。

邏輯進行拆分,將一些子查詢,放到臨時表,並對相關where欄位建立索引。 然後在對對應的臨時表進行update select,此時的select 語句都是簡單的 select * from a inner join b on a.a=b.b 。 改造後,效能有明顯提公升,總時間在10分鐘內完成。

在這次處理中,主要收穫2點:

1.同樣的資料量,insert select  比 update select 處理效率快。

2.對於負責的邏輯,可以對查詢結果進行拆分,放到對應的臨時表並建好索引,再進行update select 效率更好。分而治之。

關於char陣列初始化的一些細節

cpp view plain copy include include int main else for i 0 i 100 i printf n printf len d n strlen s printf sizeof d n sizeof s return 0 char陣列全部初始化為0後,...

初始化 關於tensorflow的初始化

在寫mnist手寫體識別任務 已放github 時遇到的 問題 我們都知道在session run的時候需要初始化。但是初始化在什麼位置是至關重要的。來看下這段 sess tf.session sess.run tf.global variables initializer mnist model ...

Python類初始化的一些整合

1.如果乙個類沒有定義 init 那麼會自動呼叫其父類,也就是說如果父類的 init 需要傳入引數,而呼叫時沒傳則會報錯。class a object def init self,name self.name name def getname self,name return a name clas...