Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Optimizar Consulta

Estas en el tema de Optimizar Consulta en el foro de Mysql en Foros del Web. Poseo la siguiente consulta... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código sql: Ver original INSERT INTO clientes                         ...
  #1 (permalink)  
Antiguo 13/05/2009, 15:55
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 20 años, 5 meses
Puntos: 4
Optimizar Consulta

Poseo la siguiente consulta...

Código sql:
Ver original
  1. INSERT INTO clientes
  2.                              (codigo, nombre, cdd, rif, direccion, creacion)
  3.                         SELECT codigo, nombre, cdd, rif, direccion, creacion
  4.                         FROM  clientes_tmp AS tc
  5.                         WHERE (codigo NOT IN (SELECT codigo FROM clientes AS c2))

La cuales funcional hasta cierto punto.. la cual funciona para mi tabla, insertando los registros en mi tabla final los que no se encuentren en mi tabla temporal...

Pero cuando mi tabla final pasan de los 10.000 la consulta es incapaz de ejecutarse por que se vuelve muy pesada y no funciona y revienta mi sistema... con menos de 5000 funciona perfectamente, asi que asumo sera problemas de haber diseñado mal la consulta... alguien sabria orientarme sobre que hacer...
  #2 (permalink)  
Antiguo 13/05/2009, 17:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Optimizar Consulta

Hola Pax..

mmm que complicado el tema... probaste usar where not exist ... esta otra forma de saber que hay en una tabla que no esta en la otrra...

La verdad que si fuera sql te diria de usar algun Store Procedure, y revisar de a lotes o algo asi, para que no se parta de una y el proceso este trabajando mas alivianado...

Si resolves el tema contame me interesa saber...

Si no encontras ejemplos del not exist mande un mensaje que te paso un ejemplo..

Saludos
  #3 (permalink)  
Antiguo 14/05/2009, 15:12
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Optimizar Consulta

lo que he pesando es no se, en dividir la consulta en varias y usar unos resultados para hacer las otras... pero la verdad no tengo idea... trabajo con php
  #4 (permalink)  
Antiguo 14/05/2009, 15:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Optimizar Consulta

Pruébalo de esta forma:
Código sql:
Ver original
  1. INSERT IGNORE INTO clientes(codigo, nombre, cdd, rif, direccion, creacion)
  2. SELECT codigo, nombre, cdd, rif, direccion, creacion
  3. FROM  clientes_tmp tc ;
Esto debería insertar todos aquellos registros que no existan en CLIENTES, ingnorando los duplicados y sin devolver errores.
Requiere que CODIGO sea PK de la tabla CLIENTES.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 11:11.