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

una consulta grande o muchas pequeñas

Estas en el tema de una consulta grande o muchas pequeñas en el foro de Bases de Datos General en Foros del Web. Buenas, he leido sobre el tema pero he visto respuestas contradictorias. La duda es simple ¿ qué es mejor para el rendimiento de las base ...
  #1 (permalink)  
Antiguo 05/10/2011, 09:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 90
Antigüedad: 14 años, 7 meses
Puntos: 2
una consulta grande o muchas pequeñas

Buenas, he leido sobre el tema pero he visto respuestas contradictorias.
La duda es simple ¿ qué es mejor para el rendimiento de las base de datos, una gran consulta o muchas pequeñas?
En mi caso sería usando mysql unas 60 consultas sobre una tabla artículos del tipo:
SELECT imagen FROM articulos WHERE id='$id'

o una consulta sobre esa tabla que tiene más de 1000 registros del tipo

SELECT * FROM articulos
y que sea php el que se encargue de buscar en la consulta.

gracias de antemano!

p.d. ahora me arrepiento de no prestar atención en las clases teóricas
  #2 (permalink)  
Antiguo 05/10/2011, 09:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: una consulta grande o muchas pequeñas

Se aplica la ya famosa frase "divide y venceras" cuando haces pequeñas consultas consumes poco tiempo, espacio en procesador etc, que es lo contrario cuando haces una consulta grande....ahora el punto que es lo que necesitas??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/10/2011, 16:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 90
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: una consulta grande o muchas pequeñas

eso exactmente, muchas gracias ;)
  #4 (permalink)  
Antiguo 05/10/2011, 17:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 90
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: una consulta grande o muchas pequeñas

Ahora me asalta otra duda, el tema es que estoy probando esto en un servidor gratuíto y las 60 consultas lo cuelgan,pero la grande no, yo pensaba y habi aleido como tu dices q era mejor hacer consutas pequeñas, pero con este problema buscaba una alternativa.

Y si recojo las ids de los articulos que se van a mostrar y formo con php y un for una cadena que quede

id='$id1' AND id='$id2' AND.... AND id='$id60'

vamos una consulta con 60 ands que cogería los mismo datos que las 60 consultas pero en una sola.

Esto sería tb peor que 60 consultas?, mejor?, igual? gracias :P
  #5 (permalink)  
Antiguo 05/10/2011, 21:05
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: una consulta grande o muchas pequeñas

Me parece que no se entendió el post de Libras cuando, muy correctamente, pregunta: ¿qué necesitas?.

Si necesitas los 60 artículos al mismo tiempo (ej: para mostrar en una página) es mejor una única consulta que devuelva todo a tener 60 consultas dentro de un loop donde cada una devuelve un solo artículo. En caso contrario, si solo necesitas mostrar un artículo, es mejor una consulta a la base por cada artículo que una consulta que devuelva todo.

Saludos
  #6 (permalink)  
Antiguo 07/10/2011, 03:52
 
Fecha de Ingreso: marzo-2010
Mensajes: 90
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: una consulta grande o muchas pequeñas

ok matanga entendido, ,pues sí, mi caso es el primero , necesito los 60 artículos en la misma página y mi duda era entre un bucle que lanzara las 60 consultas de golpe para mostrar los 60 artículos o una megaconsulta que englobara todos los artículos y que fuera php quien los seleccionase.

Lamento que no haberlo dejado claro desde el principio, pero almenos me habeis entendido y contestado lo que necesitaba.

Así que concluimos que para mi caso mejor una gran consulta que un bucle de 60 consultas

Etiquetas: grande, muchas, php, sql, tabla
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 16:19.