Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2013, 04:31
sunders
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 9 meses
Puntos: 0
Problemas en UPDATE de muchas filas a la vez

Hola, buenos días.

Tengo un problema con una aplicación que no sé como solucionar. Antiguamente dicha aplicación permitía hacer actualizaciones de tablas de más de 3000 filas a la vez;hace poco cambiamos de servidor y con ello la configuración del Php.ini y me encuentro un problema con el software que antes no tenía:

Un usuario puede recuperar una lista de registros (digamos 3000) y tiene la posibilidad de hacer un UPDATE masivo de esos 3000 registros, pero a la hora de la verdad, el máximo número de registros por operación que se están actualizando es de 996; entrando desde otra opción del software y seleccionando los 3000 registros del ejemplo, el máximo que se está actualizando es de 498, justamente la mitad de los 996 registros que se actualizan entrando desde otra sección.

En el primer caso (maximo de update 996 registros), la ejecución es de tipo "request" y utiliza el array siguiente:

input->clean_array_gpc('r', array(
'campo1' => TYPE_INT,
'campo2' => TYPE_STR


En el segundo caso (máximo de update 498 registros), el que utiliza Post:

input->clean_array_gpc('p', array(
'campo1' => TYPE_INT,
'campo3' => TYPE_ARRAY_INT
));


He estado mirando si el problema se debía al tipo de motor (Innodb frente a MyISam que tenía antiguamente) y lo descarto porque he probado ambos motores y sigo teniendo el mismo problema.

Viendo un poco el php.ini me encuentro con la variable:

output_buffering = 4096

¿Es posible que debido a esta variable se esté limitando la información que se envía en el software para actualizar las 3000 filas y esté actualizando solamente los primeros 996 registros en un caso y los 498 en otro? ¿Con Output_buffering Off se evitaría "cortar" la información que se está enviando o esta variable no tiene nada que ver con el problema?

¿Que variables del php.ini podrían estar "acortando" la información total que se intenta actualizar?

Saludos.