Actualización de múltiples filas de manera eficiente

Podría ser más eficiente usar el comando Cargar datos en MySQL. Siempre que pueda estructurar su entrada en formato CSV. Utilice las palabras clave REPLACE y / o IGNORE adecuadamente. Esto será mucho más rápido que miles de declaraciones individuales para MySQL.

Respuesta 1

Si desea usar JDBC y hacerlo eficiente, definitivamente debería consultar esta publicación de blog sobre el rendimiento de las inserciones por lotes (también se aplica a las actualizaciones).

En términos generales, debe agregar rewriteBatchedStatements=truea su cadena de conexión, por ejemplo:

Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/database_name?rewriteBatchedStatements=true","login", "password");

Esto permitirá al conductor tomar declaraciones preparadas y volver a escribirlas en una forma más eficiente.

Respuesta: 2

Ver declaraciones preparadas: http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

Cree su declaración preparada fuera del ciclo, luego dentro del ciclo, simplemente ejecute la declaración preparada con parámetros actualizados.

Respuesta: 3

Si su estado es un conjunto limitado de valores, entonces dividiré la lista en subconjuntos según el estado y luego actualizaré el conjunto de filas por cada declaración. Incluso si hay 10K filas para el estado específico, puede actualizar varias filas (usando el operador) en una sola llamada. Esto disminuirá el viaje de ida y vuelta que su aplicación necesita para actualizarse.

Respuesta: 4

Estoy trabajando en J2ME. Quiero bloquear el dispositivo mediante programación. Solo se debe mostrar una pantalla (en la que el campo de texto para la contraseña y un botón para desbloquear). Si el usuario presiona el botón FINALIZAR, no debe funcionar. ...

Debería grabar la voz durante la llamada, lo hago con un teléfono celular GIO SUMSUNG pero graba la llamada de voz y la voz del micrófono, quiero decir que he grabado ambas voces, no solo la otra parte. Y en ...

Revisé las otras preguntas de NoClassDefFoundError y no encontré una solución que funcione para mí. Estoy usando el IDE de Eclipse para escribir un programa, y ​​funciona bien cuando hago clic derecho -> Ejecutar como ...

Mientras ejecuto el rastreador Apache Nutch 1.4, quiero almacenar información adicional. Quiero almacenar el padre de cada URL. Por ejemplo, quiero rastrear una página a.html que tiene 2 enlaces de anclaje a b.html ...