=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. fdw+upsert应该更快 但是只能更新一次, 一条记录不能在一个query中被多次upsert. 如果csv文件中可能出现PK唯一的单条记录多次更新, 建议你导入时用窗口查询处理一下.

    此答案来自钉钉群“PG|POLARDB技术进阶”

  2. 不一定差吧,要看具体情况的。

  3. 使用 file_fdw 映射 CSV 文件后,使用 COPYUPSERT 的性能差异会因多种因素而异。以下是一些可能导致性能差异的因素:

    1. 文件大小和行数
    2. 表大小和行数
    3. CPU和内存规格
    4. Postgres 版本
    5. 数据库配置参数
    6. 硬件配置

    通常情况下,COPY 把数据一次性加载到 Postgres 中,因此,它比 UPSERT 更快。但是,如果你希望更新表中的现有数据,则必须使用 UPSERT 命令。因此,你需要权衡加载新数据的速度和更新现有数据的效率,对于不同的数据集和用例,这个选择可能会有所不同。你可以对两种方法分别运行性能测试,并根据测试结果决定哪种方法更适合你的场景。