前段時間完成了一個重構項目的數萬數據的遷移(爲了提高系統性能以及業務的合理劃分,從系統A中重構出系統B,數據庫從SQL SERVER變爲MYSQL),上線後遇到了一些問題,在此記錄下來提醒本身之後的數據遷移該注意哪些方面。數據庫
對於第一點,這裏出現問題的緣由是一個是線上數據業務表的字段長度遠大於新表, 致使新表數據沒法新增報錯或者批量新增的腳本太多執行報錯。腳本在測試環境跑過,可是與線上數據相差較大,線上數據不管是數據量和單個業務表的字段長度遠大於新表
第二點的一個緣由業務表的字段沒有理解清楚,不夠透徹,好比原表有如下四個字段表示商品的長寬(舉例):a,b,historyA,historyB,遷移數據時理所固然的使用了a,b,沒有去了解另外兩個字段表明的意義(historyA,historyB是原始尺寸,a,b是特殊規則後的尺寸),致使線上遷移的數據只要是須要特殊服務的尺寸全是錯誤。另外一個緣由是遷移腳本漏了一個重要業務數據的標識,這一點其實能夠在測試環境能夠發現的,主要是因爲這個重要業務能測試的帳號少,加上我日常不多進行這個操做,心存僥倖以爲沒問題形成了這個後果。性能
通過此次遷移數據後,我對遷移數據有了如下幾點思考測試
你們還有什麼好的遷移數據方法,歡迎一塊兒討論。重構