python 批量插入数据到postgreSql

开源的关系型数据库, mysql 和 postgreSql 都有很久的历史, 应用也很广泛了, 今天有机会接触postgreSql11。

python 连接postgreSql 数据库, 用的驱动工具是psycopg2。

官方文档地址:http://initd.org/psycopg/docs/

操纵插入3000w 条记录发现用单条插入的速度很慢,必须用批量插入的方法了。 啃了一遍官方文档, 终于在最后最后最后面发现了批量操作的说明,操作后批量比单条快了10倍左右的速度。

from psycopg2 import extras as ex

#values 后面直接%s
sql = '''insert into mytable(tag1, tag2)
         values %s
 '''
datalist = []
#这里做一个循环, 循环加入数据
datalist.append((192,342344))   #行数据是以元组的形式存放

ex.execute_values(cursor,sql, datalist,page_size=10000)

conn.commit()  #需要手动提交

官方具体说明地址:http://initd.org/psycopg/docs/extras.html#fast-execution-helpers

今天再接触了 postgreSQL 的copy 语法,copy_from 和 copy_to 才是postgreS

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值