Rendimiento de las declaraciones de inserción de MySQL en Java: instrucciones preparadas en modo por lotes frente a una única inserción con múltiples valores

Estoy diseñando unMySQL base de datos que necesita manejar aproximadamente 600 inserciones de fila por segundo en varias tablas InnoDB. Mi implementación actual utiliza declaraciones preparadas no por lotes. Sin embargo, escribiendo a laMySQL Los cuellos de botella de la base de datos y el tamaño de mi cola aumentan con el tiempo.

La implementación está escrita en Java, no sé la versión a mano. UsaMySQLesConector de Java. Necesito mirar para cambiar aJDBC mañana. Supongo que estos son dos paquetes de conectores diferentes.

He leído los siguientes hilos sobre el tema:

Optimización de inserciones de MySQL para manejar un flujo de datosMyISAM contra InnoDBInsertar datos binarios en MySQL (sin PreparedStatement)

y desde el sitio mysql:

http://dev.mysql.com/doc/refman/5.0/en/insert-speed.html

Mis preguntas son:

¿Alguien tiene algún consejo o experiencia sobre las diferencias de rendimiento utilizando INSERTs con declaraciones preparadas en modo de lotes en lugar de usar una sola?INSERT Declaración con múltiples valores.

¿Cuáles son las diferencias de rendimiento entre losMySQL Conector de Java vs.JDBC. ¿Debo estar usando uno o el otro?

Las tablas son para propósitos de archivo, y verán ~ 90% de escritura a ~ 10% de lectura (tal vez incluso menos). Estoy usando InnoDB. ¿Es esta la elección correcta sobre MyISAM?

Gracias de antemano por su ayuda.

Respuestas a la pregunta(4)

Su respuesta a la pregunta