【发布时间】:2020-08-21 20:20:29
【问题描述】:
我想知道在 PostgreSQL 数据库表中避免重复的最佳做法是什么。表中的行相当于一天中多次调用的第 3 方 API 中的条目。
我只添加不与 JSON 响应重复的条目。 JSON 响应可以是数据库中超过 500 个对象,比如说:
[{
"unique_id": 1234,
"name": "A",
"wins": 1
},
{
"unique_id": 1235
"name": "B",
"wins": 1
},
...
];
问题是来自 API 的数据可能是我已经存储在数据库中的数据,当我再次查询第 3 方端点时,我不想拥有已经存储的数据再次插入 - 只有结果中的唯一对象。
而且我知道如何检查一个单独的对象是否连续存在,但是当我在第 3 方响应中有超过 500 个并且其中只有 50 个是唯一的时,合理的检查是什么在一个数据库事务中?
我很想去SELECT * FROM table_name,将这些结果添加到 json 响应中,然后以这种方式删除重复项,但这似乎是一个非常多的开销处理。
任何帮助将不胜感激。
【问题讨论】:
标签: sql postgresql duplicates sql-insert knex.js