rga*_*eth 8 postgresql postgresql-performance
在 Postgres 中,如果超过 99.9% 的时间记录存在并且没有执行任何操作,则执行 \xe2\x80\x9cINSERT\xe2\x80\xa6 ON CONFLICT DO NOTHING\xe2\x80\x9d 是否效率低下?
\n例如让\xe2\x80\x99s 说我有一个节点进程,它获取映射到行的 100k 记录,其中 99,980 条已经存在。我可以:
\n第一种方法是最简单的,但我想知道它对于 Postgres 来说是否效率太低。我读到它在这样的 \xe2\x80\x9cdo Nothing\xe2\x80\x9d 情况下增加序列号,但是如果我跳过使用序列并使用我的唯一字段作为主(字符串)键,那可以吗? ?
\nINSERT ... ON CONFLICT
是尽可能有效,但问题不是重点。
an 很可能UPDATE
更快,但UPDATE
对于 0.1% 的行来说,这不会做正确的事情,所以它不是一个解决方案。
注意:如果你不必是正确的,那么总是可以更快。
归档时间: |
|
查看次数: |
4201 次 |
最近记录: |