Varias consultas a BD en simultáneo

  • Autor Autor xcodex
  • Fecha de inicio Fecha de inicio
X

xcodex

Hola!!
Me veo obligado a realizar 3 consultas a una BD MySQL.
Me pregunto si existirá alguna manera de que esto no afecte al rendimiento del servidor.
Ya que por lo que he leído esto no es del todo recomendable.

¿Cómo lo harían ustedes?
 
Si te preocupa demasiado eso, puedes solo hacer una tabla y consultar una vez (arruinando la normalización de una DB).
 
Que clase de consultas son? podrías paginarlas para que la carga al sistema no fuese tan alta, o restringir lo mas posible las condiciones del query si es un SELECT, por otro lado podrías hacer las consultas en horas donde el uso de la DB sea bajo por parte de otro usuarios.

- - - Actualizado - - -

Si te preocupa demasiado eso, puedes solo hacer una tabla y consultar una vez (arruinando la normalización de una DB).

Normalmente no alteras una DB solo para hacerle una consulta, eso es como matar una mosca con una bazuca, malas practicas conllevan malas consecuencias.
 
Sí. Mal comentario ni bien me levanté.
 
todo depende, son tablas que estan relacionadas entre si, son tablas independientes?.
por que necesitas consultar los 3?.

creo que son preguntas que puedes responder para poder enfocar una mejor respuesta.
 
Si te preocupa demasiado eso, puedes solo hacer una tabla y consultar una vez (arruinando la normalización de una DB).


Aquí te dejo un articulo que habla sobre el tema de la eficiencia de querys paginados en consultas de millones de resultados The SQL I Love <3. Efficient pagination of a table with 100M records | All You Need Is Backend

todo depende, son tablas que estan relacionadas entre si, son tablas independientes?.
por que necesitas consultar los 3?.

creo que son preguntas que puedes responder para poder enfocar una mejor respuesta.

¡Gracias a todos por su tiempo!, estuve mal en no especificar de que se trataban las consultas...

Son 2 consultas del tipo SELECT.
Una de ellas es para obtener información del usuario (nombre de usuario, fecha de nacimiento, etc) y la otra es para que en un panel lateral me muestre "noticias recientes". Y no tienen ningún tipo de relación entre si.
 
bueno creo q tendras que hacer las dos peticiones!! XD
 
Bueno también se puede hacer por medio de un sistema de cache file (en archivos de texto) o memcahed (en memoria ram), pongamos un ejemplo con las "noticias recientes" estas se pueden actualizar cada un día o semanalmente, entonces el cache duraría 1 día o 1 semana luego de eso se borrara y se volverá a generar.

1 consulta traer las noticias recientes y guarda el html en la cache.
999 usuarios ingresan y ven las noticias reciente pero no hacen consulta a la BD sino que se trae desde la cache guardada previamente que se regenera luego del tiempo establecido.

saludos.
 
Cerrar la conexión (aunque sea temporalmente) no aporta ningún beneficio. Lo correcto es hacer lo que Andres ha dicho: un query para los datos de usuario y un cache (memcached mejor, pero puedes guardar todo en un row en la BD también) para las noticias.
 
Asi como te menciona Andres128 puedes realizarlo.
Es la manera en como yo lo hacia, las consultas a la BD que no son muy frecuentes entonces los guardaba en un archivo (el resultado) con formato json, de tal manera a que cuando se actualizaba o se agregaba un nuevo articulo, ese archivo tambien se actualizaba, entonces la consulta de la BD lo hace solo 1 vez y las siguientes veces ya lo lee desde el archivo.
 

Temas similares

T
Respuestas
1
Visitas
611
titin
T
H
Respuestas
3
Visitas
949
Hispabit
H