@xiiicool

Как оптимизировать синхронизацию сторонних данных с таблицей?

У меня есть таблица rates в которой есть поля
oldRatesId uuid(unique) ...
И мой скрипт делает выгрузку из другой базы данные и пробует обновлять/создавать их в моей основной
При обновлении/создании идёт проверка по oldRatesId, поле не делаю уникальным, т.к могут быть записи созданные в основной таблице.
Проблема заключается в скорости если делать по одной записи, либо если использовать bulkCreate (INSERT values ON DUPLICATE KEY UPDATE values) нужно уникальное поле, которое будет известно зарание
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Каждой точке назначается свой префикс, который она добавляет перед uuid или в отдельное поле при составном первичном ключе.
Ответ написан
Комментировать
Adamos
@Adamos
В скрипте сначала определить список конфликтующих oldRatesId и по ним разделить синхронизацию на пакетный INSERT и пакетный же UPDATE.
Попутно может оказаться, что играет только MAX(oldRatesId), потому что поля с уже существующими в базе и не меняются.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы