Я использую Talend Open Studio для переноса данных, так как я обновляю существующую архитектуру приложения до новой.Я использую MySQL в обоих приложениях, но с другой схемой.Я успешно перенес данные между отдельными таблицами, но в то время как я переношу данные из одной таблицы в таблицу отношений родитель-потомок с ограничением внешнего ключа, передача данных чрезвычайно медленная.Например, я перевожу свою таблицу городов в города и города. Ниже приведена схема для них:
Моя старая схема:
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:
Теперь, когда я передаю данные без внешнего ключа, результат получается очень быстрым.См. Ниже:
Но то же самое, когда я передаю с помощью внешнего ключа, моя передача очень медленная:
(Примечание: я взял таблицу провинции, например, так как она похожа на таблицу городов)
Я думаю, что с ограничением внешнего ключа оно должноиндексировать столбцы при передаче данных, делая его медленнее, но я не уверен.Можно ли как-то это исправить, так как у меня много таблиц, похожих на эту, которые нужно перенести.Мне просто любопытно узнать причину.