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

Postgres插入优化

简意
2023-03-14
问题内容

我有一个脚本,它通过自定义ORM生成数以万计的插入Postgres数据库中。可以想象,它非常慢。这用于开发目的,以便创建伪数据。我可以在Postgres级别上进行简单的优化以使其更快吗?它是唯一按顺序运行的脚本,不需要线程安全。

也许我可以关闭所有锁定,安全检查,触发器等?只是寻找一种快速而肮脏的解决方案,可以大大加快这一过程。

谢谢。


问题答案:

如果您在生产环境中不需要这种功能,建议您从PostgreSQL配置中关闭fsync。这将大大加快插入速度。

切勿在生产数据库上关闭fsync。



 类似资料:
  • 我试图将Postgres用作文档存储,但在Postgres解析器似乎不喜欢JSONB操作符的情况下,当我试图有效地向上插入文档时,遇到了一个问题。 我有一张桌子: 我尝试用以下方式插入数据: 我收到这条错误消息: 我试过数据- 我想将标识符列(示例中的a)留在JSON中,而不是使其成为表上的列。 我正在尝试做的事情目前是否得到支持?

  • 我试图在postgres表的numeric datatype列中插入一个日期值 在上面的查询中,col1是numeric类型。 我还可以使用value()子句插入一些值,使用select语句插入一些值吗?例如: 在上表中:1。col1即将到来序列2。col2和col3来自两个表的连接,即表B和表C 3。col4和col5是硬编码值 如何在一个查询中实现这一点? 通过两个表的连接进行插入,可按如下方

  • 问题内容: 我在将不同的缓冲区大小插入到本地SQLite DB中时发现,当缓冲区大小为10,000时,插入10,000,000行数据需要花费近8分钟的时间。换句话说,它需要1,000次写入来存储所有内容。 8分钟存储10,000,000个似乎太长了(或者是?) 可以优化以下任何一项以提高速度吗?请注意,插入的数据是字符的随机集合。 创建表格后,通过 是否可以进一步优化上述任何一项? 问题答案: 我

  • 我需要使用JDBC在Oracle数据库中进行大量插入,即两位数百万。为此,我使用了类似于以下类的东西,灵感来自使用JDBC进行批处理插入的高效方法: 虽然这种插入方式很好,但速度非常慢。JDBC batch insert performance描述了MySQL基本上可以解决这个问题,因为在Oracle上似乎不存在,但在这里没有太大帮助。 为了提高性能,我还尝试将语句切换为一个大的

  • 问题内容: …并且该手册似乎表明您可以随时拨打电话,并且可以正常使用。但是这个… …似乎说明它必须在事务内。所以我的问题是:我可以在查询之前(只要没有交易)就等我想要的时间吗?面对许多并发连接,这可靠吗? 问题答案: PostgreSQL中的INSERT,UPDATE和DELETE具有RETURNING子句,这意味着您可以执行以下操作: 然后查询将为插入的每一行返回它为id插入的值。将往返保存到服

  • 我在PostgreSql中创建了一个表books。 我的Json: 如何通过java代码将json插入Postgres?