我正在开发一个基于Web的应用程序,它使用Java
小程序处理大量数据(200.000 - 500.000行),然后必须将数据插入MySQL
。 Java
是必须的,不能忽视或替换
哪种方法更快,更轻松,更安全?
使用Java解析数据,使用TreeMap
压缩将生成的PHP
发送到GZIP
,然后使用{{1}准备PHP
中的行},然后$q -> bind_param($a, $b, $c);
。
或者使用$q -> execute();
解析Java
中的数据,创建许多batchStatement.addBatch();
语句,将其写入INSERT
,并使用String
对其进行压缩,将其发送到GZIP
,然后从PHP
发送,在MySQL中执行PHP
。
答案 0 :(得分: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
答案 1 :(得分:0)
我认为batchStatement.addBatch()
不会达到你的期望。这是为了在JDBC中执行一批查询,直接从Java连接到您的数据库。它不会生成SQL的代码。
此外,LOAD_FILE没有达到预期的效果,即将完整文件加载到字符串字段中。也许你正在考虑LOAD DATA INFILE但是,再次,这并不期望一堆INSERT。
目前尚不清楚您是否只想要这一次或定期。为什么你坚持使用PHP(你是否使用插入的Web应用程序进行远程连接?你知道这会带来安全隐患吗?)。