gpt4 book ai didi

python - 如何加速 postgresql 中的 copy_expert?

转载 作者:行者123 更新时间:2023-11-29 13:41:32 30 4
gpt4 key购买 nike

以下函数在 111 秒内导入了大约 60k 条记录。我听说其他人说 copy_from 和 copy_expert 在不到一分钟的时间内完成了 100 万条记录。与使用 copy_from 相比,使用 copy_expert 是否会减慢进程?我可以做些什么来优化它?

cursor = connection.cursor()
cursor.copy_expert('''
COPY employee_employee (name, slug, title, base, overtime, other, gross, benefits, ual, total, year, status, jurisdiction_id, notes)
FROM STDIN WITH (FORMAT csv, HEADER true, FORCE_NOT_NULL (status));
''', open(csv_fname),
)

至于相关变量,数据库连接来自Django(from django.db import connection)。数据库在我本地的 Macbook Pro 上,是 PostgreSQL 10。

最佳答案

在打开的文件中指定 buffering=2**10。

我认为这是 OSX 上的 psycopg2 的问题。我有同样的问题,它在 ubuntu 上运行得非常快。无论数据库是否在 OSX 和 Ubuntu 上,它在 OSX 上都很慢。我的 copy_expert 在 OSX 上花费了 13 分钟。当我更改 buffering=2**10 时,它从 13 分钟变为 7 秒。

关于python - 如何加速 postgresql 中的 copy_expert?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709865/

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