Я хочу знать, каков оптимальный подход для вставки дублирующейся записи.Я использую Postgres.Я пытаюсь 2 подходов и у меня есть метрики времени на результаты, но я хотел бы знать, какой из них лучше или есть другой способ.
- Выполните
INSERT
тогда, если естьэто исключение дубликата ключа, я обрабатываю его. - Перед выполнением
INSERT
выполните SELECT
, если запись существует, я не буду выполнять INSERT
.
IОптимальный подход 1 лучше всего подходит, поскольку к DB
существует только один запрос, но если имеется много дубликатов, то подход 1 довольно медленный из-за обработки исключений дубликатов ключей, которые я предполагаю.
В моем случае я ожидаю 3-4%
дубликатов.