Foros del Web » Programando para Internet » PHP »

Como hacer muchos Insert

Estas en el tema de Como hacer muchos Insert en el foro de PHP en Foros del Web. Buenas tardes a todos. Tengo una Web donde hago muchos update en la misma tabla, este script lo hago con un ciclo for, pero como ...
  #1 (permalink)  
Antiguo 25/04/2008, 14:14
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 21 años, 1 mes
Puntos: 0
Sonrisa Como hacer muchos Insert

Buenas tardes a todos.
Tengo una Web donde hago muchos update en la misma tabla, este script lo hago con un ciclo for, pero como son tantos, se demora en ejecución mas o menos unos 2 minutos y eso que está en un servidor dedicado.

Mi pregunta radica en como puedo mejorar la velocidad de esa consulta
hay forma de hacer un update por lotes en php? algo como:

UPDATE tabla_1 SET Campo1=valor1 WHERE IdTabla=valor_1;
UPDATE tabla_1 SET Campo1=valor2 WHERE IdTabla=valor_2;
.
.
UPDATE tabla_1 SET Campo1=valorn WHERE IdTabla=valor_n;

Que no este dentro de un cliclo for.

Muchas gracias.
  #2 (permalink)  
Antiguo 25/04/2008, 20:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Como hacer muchos Insert

si estas acutlizando valores puedes hacerlo con un arreglo tipo valor[] como name....
despues puedes usar implode y actualizar la lista con un IN de la lista generada
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 26/04/2008, 13:44
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 18 años, 9 meses
Puntos: 4
Re: Como hacer muchos Insert

Hola Cesar;

Se un poco más especìfico, que tal si muestras tu codigo para ver en que podemos apoyarte.

Considero que el ciclo quedaría mejor dentro de un foreach, pero para eso necesitamos un arreglo.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #4 (permalink)  
Antiguo 26/04/2008, 14:31
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Como hacer muchos Insert

con la funcion foreach() {} puedes hacerlo o tambien usando un for() {}
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #5 (permalink)  
Antiguo 26/04/2008, 15:00
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: Como hacer muchos Insert

Que tal cesar

La pregunta real seria ; que motor de base de datos estas usando?

, de esto dependeria la forma de poderlo hacer en bloque.
__________________
Hernando Saenz Sanchez
  #6 (permalink)  
Antiguo 26/04/2008, 17:56
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Como hacer muchos Insert

Casi loas mas populares son MySQL y PosgreSQL o Oracle este ultimo privativo. tambien esta SQLite. Y todos estos relacionales y Soportan el tipo de estructura por lotes pero por eso digo que usar la funcion foreach() y sino un for() recomentaria el foreach si es un array de html y ahora si es diferente un for loop que cuente el total de registros y recorra el total .
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:57.