See an article on the Javaeye for MySQL FUD (fear, uncertainty and doubt)
Use MySQL InnoDB Benchmark performance test to illustrate
http://www.javaeye.com/topic/34676
The article said: "InnoDB disk performance is very worrying, MySQL lack of good tablespace is really a huge flaw!" ...... Users on the web reflect the same problem of insert performance, after millions of rows have been inserted, the insertion rate has dropped to 1/30, from the Start 1600 lines/sec to 50 rows/sec ...
50 Lines/sec So slow I have never seen, see, and no one to refute, so I specifically verify.
Tim ' s Environment:
MySQL 5.0.26 x86_64
Linux x86_64
Iddata file size 17G, not using innodb_file_per_table table option
Table 1:10 million rows, table size 2.2G, with primary key has 6 indexed fields
Table 2:30 million rows, table size 6.3G, with primary key has 6 indexed fields
MySQL also has some other data in the Iddata, but the test time other data is not accessed.
MySQL Server Hardware Environment
Double XEON 3G
4G memory, SCSI hard drive
Non-professional non-brand, General Assembly of the server.
A table structure is a generic user table that contains int, varchar, datetime field types, and no Text,blob type fields.
Single line length 0.1K or so
Test the 2-minute insert operation on table 1, insert 1 rows per call in the 10 million table, and invoke it on another test machine via Java JDBC.
Server CPU 30%
JDBC Result:
INSERT ok/err:73824/0
Java HEAP:7.12MB of 63.56 MB (11.2%) used
Time Elapse (sec): 129
Avg/cur current/max Max inserts/sec:572/620/620
Test a 30 million table and invoke it on another test machine via Java JDBC.
Perhaps the last Test 2 minutes will be felt unconvincing, 30 million of the Table II test a little longer. Tested for more than 10 minutes and inserted 1 million new data
One call inserts only 1 lines, 8 threads. A connection pool was used.