FTP位置から大量の(たとえば20MBの)パイプ区切りファイルを読み込んでDBに格納する必要があります。そうする最良の方法は何でしょうか。サーバー内のFTP位置から大きなファイルを読み取る方法
いくつかのアプローチ: 1.ファイルをローカルにコピーし、それを読み取り、DBに保存します。 2.ストリームから直接読み込み、DBに保存します。
効率的なやり方を提案してください。
FTP位置から大量の(たとえば20MBの)パイプ区切りファイルを読み込んでDBに格納する必要があります。そうする最良の方法は何でしょうか。サーバー内のFTP位置から大きなファイルを読み取る方法
いくつかのアプローチ: 1.ファイルをローカルにコピーし、それを読み取り、DBに保存します。 2.ストリームから直接読み込み、DBに保存します。
効率的なやり方を提案してください。
私はいくつかの例外がある場合はオプション1オプション2 - どのような場合には、
良くなると思う - DB内のファイルを書き込み中に、ストリームまたは例外を使用してファイルを読みながら、どのようになります
オプション1を使用すると、ファイルの一時ディレクトリを保存してから、そのファイルをDBに書き込み、tempディレクトリから削除またはアーカイブすることができます。
ファイルシステム上のファイルをアーカイブすることが推奨されます。これは今後の参考文献で使用されます。
多くの例では、両方の周りがあります - あなたが続くことができるFTPからのファイルのダウンロードについては
- http://www.codejava.net/java-se/networking/ftp/java-ftp-file-download-tutorial-and-example
sqlまたはcsvファイルの場合は、sshで試すことができます。
mysql -u root -p
set global net_buffer_length=1000000; --Set network buffer length to a large byte number
set global max_allowed_packet=1000000000; --Set maximum allowed packet size to a large byte number
SET foreign_key_checks = 0; --Disable foreign key checking to avoid delays,errors and unwanted behaviour
source file.sql --Import your sql dump file
SET foreign_key_checks = 1; --Remember to enable foreign key checks when procedure is complete!