请问PostgreSQL 写插入SQL时,如果是循环插入,commit 应该怎么处理?

ArcoStudio
济南政尔信息科技有限公司 官方账号
2020-03-26 02:39:21
是这样,我要从其他地方读取50万条数据插入到PG数据库。请问我在循环里,是每个SQL执行后,进行一次commit ,还是所有SQL执行完成后,在commit。
一 :

for item in pool:
sql = """"insert into ..................""
po_cursor.execute(sql)
conn_pg.commit()

二:

for item in pool:
sql = """"insert into ..................""
po_cursor.execute(sql)
conn_pg.commit()


大佬们 可以跟小白科普下吗
...全文
1452 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang_z_1 2021-01-25
  • 打赏
  • 举报
回复
没啥问题 只要数据没有问题 可以一次插入
简即美 2020-06-06
  • 打赏
  • 举报
回复
考虑到PG的MVCC机制和大部分生产库都开到读已提交的隔离状态,没啥影响,除了wal_log可能空间不够用。不过50万条正常也就几十上百M,可能性不大。
trainee 2020-04-01
  • 打赏
  • 举报
回复
不会有什么冲击,但如果50万条数据一次commit的话,假如有条记录有问题的,将全部回滚。
ArcoStudio 2020-03-27
  • 打赏
  • 举报
回复
引用 1 楼 trainee 的回复:
可以分批,比如1000条左右进行一次commit

50万条数据一次commmit对数据库有冲击么
trainee 2020-03-27
  • 打赏
  • 举报
回复
可以分批,比如1000条左右进行一次commit

973

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧