Buenas,
Hasta ahora he estado realizando cargas masivas con INSERTS múltiples, pero resulta que esto está bien cuando llamas al script por primera vez y haces la carga masiva. Pero si resulta que tienes que hacer esta llamada en varias ocasiones a lo largo de día, puede ser que la mitad de los datos no hayan cambiado y ya estén en la base de datos.
En ese caso, no deberías insertar nada.
El procedimiento que uso es, creo un bucle que recorre un array con 100.000 registros, entonces para cada valor del array compruebo si existe en la tabla de la base de datos
Código SQL:
Ver originalSELECT COUNT(pronostico_id) FROM pronosticos WHERE pronostico_id=$pronostico_id"
Si no existe guardo ese dato en un array
insertMultiples, para luego al final del script hacer el insert múltiple.
Mi pregunta es, ¿veis alguna alguna forma de acelerar el proceso? porque comparar 100.000 valores del array para ver si existe o no, y luego hacer el insert múltiple, no sé si es la mejor opción, o existe un select múltiple?? xD
Es lo que hay? un stored P, ayudaría en rendimiento?
Muchas gracias de antemano!