假设我有 4 个进程,每个进程将同时插入 1000 strip 有 title, url (unique)
的记录到 blog_posts
表中。一些记录将包含重复的 url
。
由于进程之间的竞争条件,即使我在插入记录之前检查记录是否存在,为每个进程插入事务也会失败。每个进程的单个批量插入也会失败。我如何使用 Postgres 快速做到这一点?
我正在考虑将每个进程的记录排队到 Redis 或其他东西中,然后从那里大量插入它们以防止竞争条件,但我认为也许有一些更好的方法。
最佳答案
我升级到 Postgres v9.5 并使用带有 ON CONFLICT DO NOTHING
的批量插入,这让我既有速度又有能力避免重复。
关于sql - 如何在没有重复的情况下进行多个并发批量插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34621427/