1

我正在开发一个基于 Web 的应用程序,它使用小程序处理大量数据(200.000 - 500.000 行)Java,然后必须将数据插入到MySQL. Java是必须的,不能忽视或替代

哪种方法更快、更轻松、更安全?

  • 在 Java 中解析数据,将生成的数据发送TreeMapPHPwith压缩,然后在withGZIP中准备行,然后.PHP$q -> bind_param($a, $b, $c);$q -> execute();

  • Java或者用 with解析数据batchStatement.addBatch();,创建多个INSERT语句,将其写入 ,用String压缩GZIP,发送到PHP,然后 from ,在 MySQL 中PHP执行。LOAD_FILE('xy.tar.gz');

4

2 回答 2

0

我不认为 batchStatement.addBatch()会做你所期望的。这是为了在 JDBC 中执行一批查询,直接从 Java 连接到您的数据库。它不会为您生成 SQL 代码。

此外,LOAD_FILE不会做您期望的事情,即将完整文件加载到字符串字段中。也许您正在考虑LOAD DATA INFILE,但同样,这并不需要一堆 INSERT。

目前尚不清楚您是否只想这样做一次,还是定期这样做。以及为什么您坚持使用 PHP(您是否与执行插入操作的 Web 应用程序远程连接?您是否知道这样做的安全隐患?)。

于 2013-04-29T13:59:14.623 回答
0

我相信 Load_File 是最快的。

阅读更多:

http://kvz.io/blog/2009/03/31/improve-mysql-insert-performance/
http://dev.mysql.com/doc/refman/5.1/en/insert-speed.html

于 2013-04-29T13:51:53.823 回答