Мне интересно, как лучше всего избежать дублирования внутри таблицы PostgreSQL базы данных. Строки в таблице эквивалентны записям из стороннего API, который вызывается несколько раз в течение дня.
Я только добавляю записи, которые не дублируются из ответа JSON. Ответ JSON может содержать более 500 объектов в базе данных, скажем:
[{
"unique_id": 1234,
"name": "A",
"wins": 1
},
{
"unique_id": 1235
"name": "B",
"wins": 1
},
...
];
Проблема в том, что данные из API могут быть данными, которые я уже сохранил в базы данных, и когда я снова запрашиваю стороннюю конечную точку, я не хочу, чтобы данные, которые уже были вставлены, снова добавлялись - только уникальные объекты в результате.
И я знаю Как я могу проверить, существует ли один отдельный объект в виде строки, но когда у меня в ответе третьей стороны содержится более 500 и только 50 из них будут уникальными, что будет разумной проверкой для этого в одной транзакции базы данных?
У меня возникло искушение использовать go до SELECT * FROM table_name
, добавить эти результаты в ответ json, а затем удалить дубликаты таким образом, но это похоже на очень много накладных расходов.
Любая помощь приветствуется.