Как оптимизировать синхронизацию сторонних данных с таблицей?
У меня есть таблица rates в которой есть поля
oldRatesId uuid(unique) ...
И мой скрипт делает выгрузку из другой базы данные и пробует обновлять/создавать их в моей основной
При обновлении/создании идёт проверка по oldRatesId, поле не делаю уникальным, т.к могут быть записи созданные в основной таблице.
Проблема заключается в скорости если делать по одной записи, либо если использовать bulkCreate (INSERT values ON DUPLICATE KEY UPDATE values) нужно уникальное поле, которое будет известно зарание
Чёта лажа какая-то написана. Сначала поле уникальное, потом не уникальное... Вы уж определитесь, что ли.
Ещё лучше - выложите нормальный пример. Вот CREATE TABLE, вот INSERT INTO с данными, вот выгрузка из другой БД (в каком, кстати, формате? что за скрипт, где, что делает?), и вот что надо получить в итоге... тогда будет материал для предметного разговора.
В скрипте сначала определить список конфликтующих oldRatesId и по ним разделить синхронизацию на пакетный INSERT и пакетный же UPDATE.
Попутно может оказаться, что играет только MAX(oldRatesId), потому что поля с уже существующими в базе и не меняются.