Insert performance question

We've built a rather large database for storing North American equity data (trade messages and quote messages).

I store the current day messages in a series of tables broken out by stock ticker symbol. Currently I've broken the data out by "quote" messages and "trade" messages.

There are 11 quote tables and 11 trade tables.

Each of the quote tables has ~ 30 million rows at the end of the day

Each of the trade tables has ~ 2.5 million rows at the end of the day

We're using 3 Java threads to insert data using multiple values clauses. 1 thread is responsible for quote and trade messages for the 1st 3rd of the alphabet, 1 thread for the 2nd 3rd of the alphabet and 1 thread for the last 3rd of the alphabet

The tables are heavily indexed in order to accommodate the real time queries coming in from end users.

Why a shell script for "load data [local] infile"? That command is supported by JDBC, and is even somewhat more flexible than "mysql"'s version of it in that you can reference URLs as sources of data as well.