【发布时间】:2016-05-14 04:20:11
【问题描述】:
使用需要转储到 PostgreSQL 表中的大型 pandas DataFrame。从我读过的内容来看,一次转储并不是一个好主意,(而且我正在锁定数据库)而不是使用chunksize 参数。答案here 对工作流程很有帮助,但我只是询问影响性能的块大小的值。
In [5]: df.shape
Out[5]: (24594591, 4)
In [6]: df.to_sql('existing_table',
con=engine,
index=False,
if_exists='append',
chunksize=10000)
是否有推荐的默认值,将参数设置得更高或更低时性能是否有差异?假设我有内存来支持更大的块大小,它会执行得更快吗?
【问题讨论】:
-
仅供参考,您链接到的问题是针对
read_csv,因此并不完全相关。当您遇到超时错误时,chunksize或to_sql非常有用(请参阅 pandas.pydata.org/pandas-docs/stable/io.html#writing-dataframes 或 stackoverflow.com/questions/24007762/…)。如果你没有那个问题,你不需要使用chunksize -
relevant link 有一个基准。
标签: python postgresql pandas