sql - 使用 PostgreSQL 加快数据库中插入表的速度

标签 sql postgresql

我使用 python 进行编码,使用 psql 保存数据。 我的问题是,当我写入数据库时​​,大约需要 2-3 分钟。 数据大小约为 1,200,000(行)和 3 列。

插入功能:

def store_data(cur,table_name,data):
    cur.executemany(
    "INSERT INTO"+" "+table_name+" "+"(name, date,id) VALUES (%s, %s, %s)",
    [(data[i][0], data[i][1], data[i][2]) for i in xrange(0,len(data))]
    )

    cur.connection.commit()

如何加速函数?

最佳答案

使用COPY命令。 Postgres Documentation 。另请查看 psycopg documentation复制。

一些数字:300万行的单独插入:3小时。使用 COPY:7 秒。

关于sql - 使用 PostgreSQL 加快数据库中插入表的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46014168/

相关文章:

sql - Postgres - 如何仅用几分钟和几秒钟将 varchar 转换为时间?

sql - Where Criteria on 空场

ruby-on-rails - 运行简单更新时 PostgreSQL 中的死锁

php - Postgresql 选择您可能认识的人,按共同 friend 的数量排序

mysql - 游标无法通过mysql存储过程中的prepare语句执行?

sql - 递归自连接的可变级别 - ORACLE

mysql - 我总是在 MySql 查询 : Error 1054: Unknown column 'column name' in field list 中收到错误

php - 如何使用 Propel ORM 中的 SQL "replace"函数?

postgresql - 支持 PostgreSQL 的 Joomla 扩展安装

postgresql - 在 Amazon Redshift 中转换时区