当前位置: 首页 > 面试题库 >

Psycopg2,Postgresql,Python:批量插入的最快方法

闽鸿宝
2023-03-14
问题内容

我正在寻找将数百万个元组批量插入数据库的最有效方法。我正在使用Python,PostgreSQL和psycopg2。

我已经创建了很长一段时间的流氓列表,应该将其插入数据库中,有时还要使用诸如geometric这样的修饰符Simplify

幼稚的方法是对INSERT语句列表进行字符串格式化,但是我还了解了三种其他方法:

  1. 使用pyformat绑定样式进行参数插入
  2. executemany在元组列表上使用,以及
  3. 使用将结果写入文件并使用COPY

似乎第一种方法是最有效的,但是我希望您的见解和代码片段告诉我如何正确执行。


问题答案:

是的,如果您可以将文件写入 服务器 的硬盘驱动器(而不是应用程序正在运行的驱动器),我会投票支持COPY,因为COPY只会读取服务器。



 类似资料:
  • 问题内容: 我正在使用以下内容尝试将记录插入到postgresql数据库表中,但是它不起作用。我没有任何错误,但是表中没有记录。我需要提交或其他东西吗?我正在使用随Bitnami djangostack安装安装的postgresql数据库。 问题答案: 如果不想将每个条目都提交到数据库,则可以添加以下行: 因此,您得到的代码将是:

  • 问题内容: 我正在使用Python中的MySQLdb模块与数据库进行交互。我遇到的情况是有一个非常大的列表(成千上万个元素),需要将它们作为行插入表中。 我现在的解决方案是生成一个大的语句作为字符串并执行它。 有没有更聪明的方法? 问题答案: 有一种更聪明的方法。 批量插入的问题在于,默认情况下启用了自动提交功能,从而导致每个语句在下一次插入可以启动之前被保存到稳定存储中。 如手册页所述: 默认情

  • 在SQL我们做这样的事情批量插入到可更新 但在PostgreSQL中,如何执行此操作

  • 我正在写一个数据挖掘程序,可以批量插入用户数据。 当前SQL只是一个普通的批量插入: 如果发生冲突,如何进行更新?我试过: 但它抛出

  • 问题内容: 这是我在阅读有关jpa批量插入的几个主题之后创建的简单示例,我有2个持久对象User和Site。一个用户可以拥有多个站点,因此我们在这里有一对多的关系。假设我要创建用户并将多个站点创建/链接到用户帐户。考虑到我愿意为Site对象使用批量插入,代码如下所示。 但是,当我运行此代码时(我将hibernate方式用作jpa实现提供程序),我看到以下sql输出: 所以,我的意思是“真实的”批量

  • 问题内容: 我正在尝试将数据从此链接插入到我的SQL Server https://www.ian.com/affiliatecenter/include/V2/CityCoordinatesList.zip 我创建了表 我正在运行以下脚本来进行批量插入 但是批量插入失败,并出现以下错误 当我使用google时,我发现了几篇文章,指出问题可能出在RowTerminator上,但我尝试了诸如/ n