我有超过 100 万个插入查询要在 Oracle SQL Developer 中执行,这需要很多时间。有什么办法可以优化这个。
最佳答案
SQL Developer 是运行 1,000,000 行逐行插入的错误工具。
SQL*Plus 也是如此。
如果您无法编写程序来使用循环或游标或某些 pl/sql 批量收集进行插入,则 do what @marmite-bomber suggests - 将您的数据写入一个平面分隔的文本文件,并设置一个 SQL*Loader 方案。
Now, you CAN use SQL Developer to do this.
指向您的分隔文本文件。
映射所有内容,然后使用此 IMPORT 方法。
完成后,您将拥有一组需要执行的 bash 或 cmd 脚本。但首先,您的机器上需要有一个 Oracle 客户端 - 这就是 sqlldr 程序所在的位置。
它比运行 1,000,000 个单独的插入要快几个数量级。你的 DBA 不会讨厌你。
使用 SQLDev 向导,您可以在几分钟内启动并运行。
证据:
我测试了一个简单的场景 - 我的发现是( details here ):
每秒为 SQL*Loader 插入 10,753 条记录
SQL Developer 每秒插入 342 条记录
SQL*Loader 的速度提高了 3,144%。
关于sql - 如何在 Oracle SQL Developer 中执行超过 100 万次插入查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52834051/