2013-04-26 79 views
1

我正在開發一個基於Web的應用程序,它使用Java小程序處理大量數據(200.000 - 500.000行),然後必須將數據插入到MySQL中。 Java是必須的,它不能被忽略或替換哪個MySQL INSERT方法會更快更可靠?

哪種方法會更快,更無障礙,更安全?

  • 解析Java中的數據,發送所生成的TreeMapPHPGZIP壓縮,然後準備中的行與PHP$q -> bind_param($a, $b, $c);,然後$q -> execute();

  • 或用batchStatement.addBatch();解析在Java數據,創造出許多INSERT聲明,寫於String,壓縮與GZIP,將其發送到PHP,然後從PHP,在MySQL執行LOAD_FILE('xy.tar.gz');

+2

試試吧。一點基準將回答你的問題。 – 2013-04-26 18:45:13

回答

0

我不認爲batchStatement.addBatch()會做你的期望。這是爲了在JDBC中執行一批查詢,直接與Java中的數據庫連接。它不會生成你的SQL代碼。

此外,LOAD_FILE不符合您的期望,這是爲了將完整文件加載到字符串字段。也許你正在考慮LOAD DATA INFILE,但是,這並不意味着一堆INSERT。

目前尚不清楚您是否只想定期或只定期一次。以及爲什麼你堅持使用PHP(你是否需要遠程連接一個可以插入的Web應用程序?你是否意識到了這一點的安全性?)。