[英]Talend Open Studio data migration with MySQL on parent-child relation
我正在使用Talend Open Studio進行數據遷移,因為我正在將現有的應用程序體系結構升級到新的體系結構。 我在兩個應用程序中都使用MySQL,但模式不同。 我已經成功地在單個表之間遷移了數據,但是當我將數據從單個表轉移到具有外鍵約束的父子關系表時,數據傳輸非常慢。 例如,我正在將“城市”表遷移到“城市”和“ Citiesi18n”,以下是它們的架構:
我的舊模式:
CITIES (
id
city_name
status
created_at
)
我需要在其中遷移數據的新創建的架構:
CITIES (
id
status
created_at
)
CITIESI18N (
id
lang_code
name
fk_city_id (// foreign key of cities table)
)
以下是我的Talend作業的快照:
這是tmap配置:
現在,當我在沒有外鍵的情況下傳輸數據時,結果非常快。 見下文 :
但是,當我使用外鍵進行傳輸時,我的傳輸非常慢:
(注意:我以省表為例,因為它與城市表相似)
我認為,在使用外鍵約束的情況下,它必須在傳輸數據時索引列,這會使它變慢,但我不確定。 有什么辦法可以解決此問題,因為我有很多與此表類似的表需要遷移。 我只是想知道原因。
我不知道為什么會有這種行為:您可以嘗試將'provience_i18n'重定向到tHashOutput(緩存組件),然后使用tHashInput(引用您的tHashOutput)-> tMySQLOutput鏈接到子作業。 您將有2個子工作,每個插入工作一個。
你是在同一時間將數據加載到父和子。 使用一個tmap。 在第二張表中插入外鍵時,在外/父表中也會進行插入 。 或者,您可以做的是:先將數據加載到主CITIES表中,然后再將onSubJobOk加載到child / CITIESI18N表中。 這樣會更快。 讓我知道它是否有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.