using prepared statements executed in batches, and this gives me between 10 and 20 row inserts per millisecond on average. I have
Wow! You're already going very fast, and you've already put a lot of good effort into this, so I congratulate you on how far you've gone already. A couple of thoughts occurred to me as I read your post: - have you tried using in-memory databases rather than test duration? - have you experimented with using a larger page size to minimize per-page overhead? - have you experimented with giving a larger-than-default page cache? Also, have you done any system-level analysis of your application during the insert: - is your system CPU-bound? is there any disk io occurring at all? - how much garbage are you generating, what is the GC profile like? - what rev of the JDK are you running, and on what operating system? - is your system multi-core? Can you throw threads/cores at this problem? - can you get any sort of profiling data about where the hotspots are during your run? Good luck with your performance work, it sounds extremely interesting! thanks, bryan