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

Consulta que devuelve mas de 50000 datos

Estas en el tema de Consulta que devuelve mas de 50000 datos en el foro de Mysql en Foros del Web. Hola muy buenas tardes, no se si el tema iría aquí o en la sección de PHP, os comento el problema en cuestión, haber que ...
  #1 (permalink)  
Antiguo 17/12/2014, 05:38
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Consulta que devuelve mas de 50000 datos

Hola muy buenas tardes, no se si el tema iría aquí o en la sección de PHP, os comento el problema en cuestión, haber que solución proponéis. Tengo una aplicación móvil, la cual realiza unas peticiónes ajax a la bd mysql. Tengo una tabla en la cual se guardan los datos de registro de los usuarios, luego un usuario puede agregar como amigo a otro usuario, el problema en cuestión reside en que cuando eran 10 usuarios las peticiones ajax iban muy rápidas, ahora que son mas de 50000 usuarios, la petición que devuelve las personas que puedo agregar como amigas, pues va lentísima en gran parte por el gran JSON que devuelve.

Entonces no se como solucionar eso, así que haber que proponéis

Un saludo
  #2 (permalink)  
Antiguo 17/12/2014, 06:05
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: Consulta que devuelve mas de 50000 datos

Pues lo más evidente: Paginar las consutlas para que vaya recuperando de a pocas (no más de diez o veinte), las cuales jerarquizarías analizando las relaciones ya existentes del usuario de la misma forma en que te las ofrece Facebook.
Esto último, si lo notas, es simplemente consultando cuántas relaciones tiienen esos otros que sean comunes a las que ya posee el que se loguea.
Lo que no tiene sentido es que no le pongas un LIMIT a la query.... Nadie hace eso. Es ineficiente aunque los usuarios sean 10.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 17/12/2014, 06:15
 
Fecha de Ingreso: marzo-2012
Mensajes: 17
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Consulta que devuelve mas de 50000 datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
las cuales jerarquizarías analizando las relaciones ya existentes del usuario de la misma forma en que te las ofrece Facebook.
Esto último, si lo notas, es simplemente consultando cuántas relaciones tiienen esos otros que sean comunes a las que ya posee el que se loguea.
Vale, lo del Limit , lo veo totalmente lógico ;) , lo que no consigo entender es la jerarquía que dices... Si me lo explicases un poco mejor te lo agradecería.

Graciass!!
  #4 (permalink)  
Antiguo 17/12/2014, 06:34
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: Consulta que devuelve mas de 50000 datos

¿Nunca notaste que, por ejemplo, Facebook te muestra los posibles amigos a incorporar destacando que está vinculado a cierta cantidad de amigos que son tuyos?
Bueno, eso es jerarquizarlos por relaciones: La query, además de devolverte la lista de amistades posibles, realiza el calculo de cuantas de las amistades de ESOS otros también están en tu círculo. Es una consulta bastante elemental que cruza la tabla de amistades con la de foristas.
la idea es que la query que usas debe devolverte precisamente la lista ordenada de aciuerdo a las coincidencias entre tus amistades y la de ellos, en orden decreciente de cantidad de coincidencias.
Es una query donde se usa LEFT JOIN entre ambas tablas. Si quieres mas detalles postea la query que estás usando ahora y veremos
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: devuelve, php, registro, 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 22:45.