Foros del Web » Programando para Internet » PHP »

optimizar velocidad en consulta oracle + mysql

Estas en el tema de optimizar velocidad en consulta oracle + mysql en el foro de PHP en Foros del Web. Hola a todos, me ha surgido la siguiente duda: Tengo dos servidores, en uno tengo montado oracle (10g) y en otro tengo mysql (3.23.49) en ...
  #1 (permalink)  
Antiguo 21/01/2009, 19:36
 
Fecha de Ingreso: julio-2001
Ubicación: León, Gto.
Mensajes: 119
Antigüedad: 22 años, 9 meses
Puntos: 2
optimizar velocidad en consulta oracle + mysql

Hola a todos, me ha surgido la siguiente duda:

Tengo dos servidores, en uno tengo montado oracle (10g) y en otro tengo mysql (3.23.49) en este ultimo tambien esta montado apache y php para visualizar la info via web.

Existe un modulo donde requiero llenar una tabla de mysql en base a una tabla de oracle, es decir, a traves de php consulto cierta informacion de oracle y cada registro devuelto lo inserto en una tabla de mysql. La cantidad de registros que se insertan es muy grande, alrededor de los 5000, lo cual hace que este proceso sea muy lento. A continuacion les pongo el ejemplo de lo que les comento:

$query_oracle = "select * from tablaoracle where existencia > 0";
$result_query = ociparse($conexionOra, $query_oracle);
$executa = ociexecute($result_query,OCI_DEFAULT);
while(OCIFetchInto($result_query,&$row,OCI_ASSOC)) {
$cmp1 = $row["CMP1"];
$cmp2 = $row["CMP2"];

$query_mysql = "insert into tablamysql values('$cmp1','$cmp2')";
$query = query_bd_mysql($DBNameMySql,$query_mysql);
}

Esto es muy lento cuando se insertan 5000 registros

Alguien sabe alguna otra forma o metodo para realizar este proceso de una manera mas optima..? Si la informacion que inserto fuera a una tabla de oracle podria usar el ocibindbyname (placeholder) para agilizar la insercion. Alguien conoce un equivalente al ocibindbyname para usarlo con mysql...?

Cualquier ayuda se los agradeceria, muchas gracias
__________________
. . : : chunga : : . .

Última edición por mflores12; 21/01/2009 a las 19:42
  #2 (permalink)  
Antiguo 22/01/2009, 07:25
 
Fecha de Ingreso: diciembre-2008
Mensajes: 39
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: optimizar velocidad en consulta oracle + mysql

a menos de que armes las consultas de insercion a mano. cosa que puedas ingresar varios registros en una misma consulta, va a ser lento.
El overhead que generar insertciones registro por registro, comparado a instrtar varios en un inserts, es notorio.
Estoy hablando de diferencias exponenciales de tiempo.
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 06:24.