开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

用 file_fdw 映射csv文件,然后 upsert 性能会比copy差多少啊?

用 file_fdw 映射csv文件,然后 upsert 性能会比copy差多少啊?

展开
收起
绿子直子 2023-03-14 09:41:51 390 0
3 条回答
写回答
取消 提交回答
  • fdw+upsert应该更快 但是只能更新一次, 一条记录不能在一个query中被多次upsert. 如果csv文件中可能出现PK唯一的单条记录多次更新, 建议你导入时用窗口查询处理一下.

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

    2023-03-14 11:35:46
    赞同 展开评论 打赏
  • 今天也要加油吖~

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

    2023-03-14 11:05:01
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

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

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

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

    2023-03-14 10:04:16
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载