在Oracle SQL Developer中导入200万行[已关闭]

tkclm6bt  于 2023-11-17  发布在  Oracle
关注(0)|答案(2)|浏览(103)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受回答。

这个问题似乎与help center中定义的范围内的编程无关。
昨天就关门了。
Improve this question
我有一个csv文件,其中包含超过200万行,我想在导入csv文件的oracle sql中创建一个新表,但它给了我超出错误开销限制的错误。
如何快速导入csv文件?我必须尝试INSERT模式或其他类型的导出?
我希望创建一个包含csv数据的表

6ie5vjzr

6ie5vjzr1#

如果我是你,我会用SQL Loader,它真的非常非常快。
这是19 c文档(基本功能没有太大变化(如果有的话),所以请查看。如果您的数据库版本不同,请查找相应的文档)。
简短:

  • 你会安装这个实用程序(也许你已经有了它?通过在你的操作系统命令提示符下执行sqlldr来检查)
  • 创建控制文件(它指示实用程序源数据在哪里(在CSV文件中),目标是什么(在模式中创建的表),如何将源数据Map到表列等)
  • 运行sqlldr,指定控制(和日志)文件
  • 等到它结束

出于测试的目的,也许您不应该一次加载200万行-提取一小部分,以便能够测试您所做的工作,并且-一旦确定-加载整个文件。

2admgd59

2admgd592#

我同意前面的评论,如果你想要性能,你不能比使用DBLoader更快。至于你的错误:超过开销限制。在我看来,你超过了JVM内存(需要一个更完整的跟踪来确认)。你不应该在插入前将完整的CSV加载到内存中,你应该在飞行中读取和插入。

相关问题