gpt4 book ai didi

java - 在 PostgreSql 中批量更新或删除哪个更有效?

转载 作者:行者123 更新时间:2023-11-29 11:38:35 25 4
gpt4 key购买 nike

在我的 java web 应用程序中,我需要从表中删除一组记录。我有两个选择:

  1. 直接从应用程序运行删除查询
  2. 更新所有记录中的值以从用户 View 中隐藏它们,并让守护线程运行并在后台清理这些记录。

记录数可以在 10 到 100000 之间。我在这里的目的是了解在不给服务器增加太多负载的情况下高效和安全的方法。

P.S.:欢迎分享任何其他合适的方法。

最佳答案

在幕后,UPDATE 实际上是:

  1. 将更新的行标记为已删除
  2. 插入新行,它是上面 1. 中行的副本,但反射(reflect)更新的列

因此,由于 UPDATE 操作涉及两次写入,DELETE 实际上更有效,因为它只是标记已删除的行,使用一次写入(因为 Multi -版本并发控制(MVCC)框架)

披露:我为 EnterpriseDB (EDB) 工作

关于java - 在 PostgreSql 中批量更新或删除哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58755221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com