MySQL和Java是否可以在没有文件(即内存)的情况下“加载数据”?

JörgRech:

我正在优化将约10TB数据导入MySQL数据库的过程。目前,我可以在当前笔记本电脑上约14分钟内导入2.9GB(+ 0.8GB索引)。该过程包括读取数据文件(Oracle“ .dat”导出),解析数据,将数据写入CSV文件并在其上执行“ LOAD DATA LOCAL” sql命令。

是否可以提高导入速度(无需更改硬件)?有没有一种方法可以删除将文件写入文件系统并让MySQL再次读取它的步骤。是否可以将内存中的数据直接流传输到MySQL(例如,通过JDBC驱动程序)?

预先非常感谢,Joerg。

大富豪:

从MySQL Connector / J JDBC驱动程序版本5.1.3开始,您似乎可以使用com.mysql.jdbc.Statement连接InputStream引用setLocalInfileInputStream()方法,在Java代码内部,用于将内存格式的字符串/文本“管道”到“ LOAD DATA INFILE”调用。这意味着您不必写出并从内存中重新读取临时文件。请参阅:

http://dev.mysql.com/doc/refman/5.1/zh-CN/connector-j-reference-implementation-notes.html(页面底部)

帖子还概述了该过程

http://jeffrick.com/2010/03/23/bulk-insert-into-a-mysql-database

O'reilly制作了一个包含MySQL / JDBC性能gem的PDF

还提到了它在Hadoop中的用法(高级Java主题)。

希望对您有帮助。

干杯

丰富

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Play 2.3.x是否可以在没有激活器(和maven)的情况下使用?

TCPClient是否可以在没有网卡的情况下使用?

是否可以在没有无限间隔或重新加载页面的情况下检测文件更改?

是否可以在没有ReactJS的情况下使用RelayJS和GraphQL?

Windows中是否可以在没有输入文件的情况下使用firebase cli?

是否可以在没有文件输入的情况下使用ActiveStorage?

是否可以在不将文件加载到内存的情况下读取文件?

是否可以在没有CDN和Node的情况下运行Babel?

如何检查是否可以在没有提升令牌的情况下写入文件?

是否可以在不直接接触文件系统的情况下从内存加载系统驱动程序?

是否可以在没有跨线程异常的情况下将worker和GUI分开?

是否可以在没有映射模板的情况下使用AppSync和GraphQL?

是否可以在没有云实例的情况下创建领域数据库?

是否可以在没有QApplication的情况下使用QML和QtQuick?

是否可以在没有war文件的情况下使用JBoss Rewrite?

是否可以在没有用户干预(即以编程方式)的情况下启用iCloud?

是否可以在kitkat +上没有文件选择器的情况下写入sd卡

在没有ActiveX的情况下,是否可以在JS / html中运行批处理文件?

是否可以在所有情况下比较两个.java文件的方法和字段?

是否可以在没有root用户访问权限的情况下安装和运行Google Chrome?

检查MAT文件是否在没有加载的情况下损坏

Windows是否可以在没有其他软件的情况下打开Markdown文件?

是否可以在没有服务器的情况下使用实体类和EntityManager?

是否可以在没有 sudo 的情况下使用 docker?

是否可以在没有 Groovy 的情况下使用 Jenkins

是否可以使 MySQL Db 在没有 UPPER() 函数的情况下以大写形式存储数据

是否可以在没有 Anaconda 的情况下使用 scrapy?

是否可以在没有 XSD 文件的情况下通过 SSIS(Visual Studio)将 XML 文件(加载数据)推送到 SQL Server?

是否可以从 .ASM 代码调用 .EXE 文件以在没有操作系统的情况下运行?