Kev*_*vin 9 python postgresql pandas
使用需要转储到PostgreSQL表中的大熊猫DataFrame。从我读到的内容来看,一次全部转储不是一个好主意,(并且我正在锁定数据库)而是使用该chunksize参数。此处的答案对工作流程很有帮助,但我只是在问块大小影响性能的价值。
In [5]: df.shape
Out[5]: (24594591, 4)
In [6]: df.to_sql('existing_table',
con=engine,
index=False,
if_exists='append',
chunksize=10000)
Run Code Online (Sandbox Code Playgroud)
将参数设置为较高或较低时,是否有建议的默认值,并且在性能上有区别吗?假设我有支持更大块大小的内存,它执行得更快吗?
小智 11
to_sql就我而言,当我使用 pandas函数参数为 chunksize=5000 和 method='multi'时,5 列的 3M 行在 8 分钟内插入。这是一个巨大的改进,因为使用 python 将 300 万行插入数据库对我来说变得非常困难。
我尝试了相反的方法。从 sql 到 csv,我注意到块越小,工作完成得越快。向作业添加额外的 cpu(多处理)并没有改变任何东西。
| 归档时间: |
|
| 查看次数: |
7048 次 |
| 最近记录: |