Damit sind INSERTs im Bereich von mehreren 100.000 Einträgen normalerweise unproblematisch möglich.
Die Frage wäre, ob das der Bereich ist, den Du mit "große Datenmengen" meinst...? Ich habe mit größeren Datenmengen leider nur Erfahrung mit Oracle, für das ein eigener "Bulk-Loader" vom Hersteller mitgeliefert wird. Für MySQL gibt es das Kommando LOAD DATA INFILE, damit habe ich aber keine praktische Erfahrung.
Je nachdem, wie die Daten vorliegen und strukturiert sind, ist vielleicht das Arbeiten mit mehreren Threads sinnvoll, wenn es um das aufbereiten und zusammenstellen der Daten für einen Insert geht.
Ich weis nicht, ob es vielleicht sogar noch schneller wäre, von Java eine SQL Datei schreiben zu lassen, die man dann von Hand in MySQL importiert. (http://dev.mysql.com/doc/refman/5.1/de/mysql.html)
Soweit meine Erfahrung reicht, ist Java Speicherhungrig, wenn es um lange Strings geht. (1 Mio. Inserts o.ä.)
Mmm, es kommt tatsächlich darauf an, wie viele Datensätze du importieren möchtest. PreparedStatements sind sehr schnell, jedoch mußt du jeden Datensatz einzeln "verschicken".
Falls die Daten in einer CSV-Datei vorliegen, oder von Dir dorthin geschrieben werden, ist der BulkInsert von MySQL der schnellste Weg.
Das Gegenstück, um Daten sehr schnell in eine CSV-Datei zu exportieren ist SELECT ... INTO OUTFILE, was ich schon für diverse Backuparbeiten erfolgreich benutzt habe.