Вставляю в базу большое количество значений (~5 млн строк, пакетами по 5000 строк) через executemany.
Некоторые значения не уникальны. В этом случае требуется просто пропустить эту вставку/обновить/заменить ее. Если использовать INSERT
- при хоть одной ошибке в пакете на 5000 строк, при наличии дубликата не вставляется весь пакет. Скорость вставки высокая.
Для решения проблемы попробовал INSERT IGNORE
, скорость падает в разы, впечатление что запросы выполняются по отдельности, а не пакетом.
Как можно решить данную проблему, без ущерба в скорости?
можно ли в столбце из строки: 10,13,18/12:00:00/15:55:00 извлечь первые 3 цифры до символа '/' ? то есть мне надо что бы оператор LIKE сравнивал только (10,13,18),...