問題描述如下100萬數(shù)據(jù)從A機(jī)房的一個(gè)表遷移到B機(jī)房的一個(gè)表,兩個(gè)表結(jié)構(gòu)不一樣。我的實(shí)現(xiàn)方法如下:查出數(shù)據(jù)來,java層面進(jìn)行數(shù)據(jù)的轉(zhuǎn)義,然后開了30個(gè)線程,進(jìn)行分頁同步數(shù)據(jù)。即每次查詢500條數(shù)據(jù),然后插入B機(jī)房的表。線程池中有30個(gè)線程?,F(xiàn)在的問題是:遷移到效率很慢,很慢。17萬數(shù)據(jù)就用了一個(gè)多小時(shí),還沒有跑完數(shù)據(jù),請(qǐng)問有什么方案可以提高效率的么???
3 回答

猛跑小豬
TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
有3個(gè)地方可能存在效率問題
JDBC調(diào)用的時(shí)候沒有采用Batch Update,導(dǎo)致性能低
每次查500條太少了,每次查個(gè)幾千條應(yīng)該沒問題
B機(jī)房的表有索引、約束,應(yīng)該在遷移的時(shí)候把這些關(guān)掉或者drop掉,遷移完成后再打開

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消