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

sql tarda y no me entrega OPTIMIZAR

Estas en el tema de sql tarda y no me entrega OPTIMIZAR en el foro de Mysql en Foros del Web. hola miren tengo esta parte de codigo , es php y mysql... el problema viene por el lado del mysql , tal vez , tenga ...
  #1 (permalink)  
Antiguo 22/02/2013, 08:04
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
sql tarda y no me entrega OPTIMIZAR

hola miren tengo esta parte de codigo , es php y mysql...
el problema viene por el lado del mysql , tal vez , tenga que optimizar la consulta
Código MySQL:
Ver original
  1. SELECT  IDPropiedad
  2. FROM rent1412_rentar.serv_prop  
  3. WHERE IDServicio IN($ser)
  4. GROUP BY `IDPropiedad`
  5. HAVING COUNT(DISTINCT IDServicio)=$cantidad
  6.  
  7. -- $where.=" p.IDPropiedad in ($ser2) ";  
  8.                      
  9. -- $where.=" p.IDPropiedad in (1, 2, 14, 46, 52, 54, 60, 66, 67, 75, 78, 136, 143, 144, 149, 157, 166, 167, 183) "; resultados de una subc q tarda mascotas
para empezar recibo por post. valores.. el array post tendra..

valor 1="12,14,11"

valor 2 ="3"

seria una ejemplo...

lo que hago en esta parte es...

Cita:
Editado: Código de programación no permitido en foros de BBDD
colocar en un string,, los valores...
luego obtengo la cantidad de valores que tiene el array..

Código MySQL:
Ver original
  1. SELECT  IDPropiedad
  2.               FROM rent1412_rentar.serv_prop  
  3.              WHERE IDServicio IN($ser)
  4.           GROUP BY `IDPropiedad`
  5.             HAVING COUNT(DISTINCT IDServicio)=$cantidad
;

aca , el problema principal esta , en que tarda en devolverme los valores, por ejemplo en el cdigo. me aparece solo el valor 1.... y tomo el mismo codigo , lo pongo en un gestor como navicat,

y me tira resultados. tarda un poco

despues a esos resultados...

lo paso a array, despues a un string..

para colocarlo en una consulta, lo cual la el string de valores no esta completo ya que la consulta, no termino de entregar todos los valores,

capaz el error esta en meter una subconsulta. y no meterlo todo junto....

habria que optimizarlo no¿¿


en navicat...

la primer consulta me tira. varios resultados..


si fuese rapido...


el ultimo where .. quedaria asi..


$where.=" p.IDPropiedad in (1,2,14,46,52,54,60,66,67,75,78,136,143,144,149,15 7,166,167,183) "; resultados de una subc q tarda mascotas

Última edición por gnzsoloyo; 23/02/2013 a las 12:03 Razón: Código de programación no permitido en foros de BBDD
  #2 (permalink)  
Antiguo 23/02/2013, 11:44
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: sql tarda y no me entrega OPTIMIZAR

Lo siento pero o te explicas mejor o no hay quien te entienda....

Dificilmente te podemos decir si hay que optimizar nada si no muestas la query $where no se usa en ninguna parte del codigo que nos muestras...

Cita:
...resultados de una subc q tarda mascotas...
que c... quiere decir eso.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 23/02/2013, 20:21
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: sql tarda y no me entrega OPTIMIZAR

Cita:
Iniciado por quimfv Ver Mensaje
Lo siento pero o te explicas mejor o no hay quien te entienda....

Dificilmente te podemos decir si hay que optimizar nada si no muestas la query $where no se usa en ninguna parte del codigo que nos muestras...



que c... quiere decir eso.
jaja,, esa parte estaba comentada,... se trata de eso de alquileres, si se aceptan mascotas, si hay internet y demas cosas... ya lo resolvi..

Mi duda, era que , pense que por la subconsulta,( que tardaba un poco.)

No mostraba los resultados...o tardaba---y no las mostraba a todas.. Solo daba 1 registro, de todos los que queria,. O si le hacia un count, al array, que venia por mysql_fetch_assoc, y me tiraba 0 o 1...
Cuando en realidad tendria que devolver el count, un numero como 70.
Fue una locura... Manejar esas parte del codigo, donde no sabia en que parte fallaba...

La funcion implode no funcionaba no se, por que, tenia un array y lo queria pasar a string....

Bueno, me llevo tiempo, eso es lo lamentable

Última edición por gnzsoloyo; 23/02/2013 a las 20:49 Razón: Texto en mayúsculas es GRITAR.
  #4 (permalink)  
Antiguo 23/02/2013, 20:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: sql tarda y no me entrega OPTIMIZAR

La verdad, sigue sin entenderse ni medio...
Por favor, trata de ser mas claro cuando describas un problema, porque a nosotros nos encantaría poder comprender el asunto y ayudar. Pero tal y como lo haces...

Ni modo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/02/2013, 06:57
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
Respuesta: sql tarda y no me entrega OPTIMIZAR

hola no era problema de optimizado ni nada, yo pense que al ser una subconsulta el servidor tarda . alrededor de 3 segundos, al menos en esta consulta sql no, es un pensamiento tonto.
no tiene por que...

pense que como tardaba el mysql tiraba como respuesta algunos registros y se quedaba corto. por ejemplo mostraba 3 registros en vez de 50 ... ya que el php , cargaba.... (en realidad mostraba 1 infeliz registro el primero)

despues a lo ultimo hacia select * from tabla y r nada , solo tiraba un registro

me estaba cag------ la vida...

le hacia un count al array devuelto y decia 1. ni un print_r andaba
pero con un while. al array , me "escupio" todos los registros...
ahi si se dio por vencido,
no se la verdad... que fue, pero ya salio,...

Etiquetas: entrega, php, resultados, select, sql, tarda
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 09:03.