gpt4 book ai didi

java - 使用 JDBC 驱动程序进行 Oracle 插入优化

转载 作者:行者123 更新时间:2023-12-02 13:09:11 25 4
gpt4 key购买 nike

我正在空的 oracle 表中插入 100 万条记录。为了提高插入性能我尝试了以下优化:

  • 在插入查询中给出/*+ APPEND */提示
  • 禁用索引在插入之前,然后在插入完成后重新启用它
  • 在表上启用无日志记录。

但是,我看不到插入性能有任何改进。我无法弄清楚为什么。

请注意,我使用 org.springframework.jdbc.core.JdbcTemplate#batchUpdate 来插入记录,并且我正在批量插入 20000 条记录。

最佳答案

早期Oracle发布了有关JDBC性能调优的文档:Oracle JDBC Memory Management

这里有一些小技巧

  1. 根据您的 Oracle 配置优化批量大小。

  2. 缓存准备好的语句并对所有批处理使用相同的语句(需要清理)或使用语句池(Oracle JDBC 驱动程序支持。请参阅上述文档)。

  3. Oracle 定义了一些性能扩展:Performance Extensions 。使用 sendBatch 代替 addBatch 来提高批处理性能。请参阅上述文档中的示例 23-1。1

<小时/>

[1] 在 12 中不再支持使用 setExecuteBatchsendBatch 的 Oracle 样式批处理。

关于java - 使用 JDBC 驱动程序进行 Oracle 插入优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com