1
respuesta

[Sugerencia] ¿Por qué evitar queries N + 1?

La respuesta correcta es la opción B) Porque son utilizadas múltiples queries, aumentando la cantidad de acceso a la base de datos y, por consecuencia, empeorando la performance de la aplicación y del propio sistema de base de datos.

El problema de tener queries N + 1 es que implica realizar múltiples consultas a la base de datos para obtener información relacionada. La consulta inicial (N) obtiene una lista de elementos, y luego se realizan consultas adicionales (+1) para obtener información adicional para cada elemento de la lista.

Este enfoque puede generar un exceso de acceso a la base de datos y, como resultado, puede afectar negativamente el rendimiento de la aplicación y del sistema de base de datos. Cada consulta adicional implica una latencia adicional y puede generar una carga innecesaria en la base de datos.

En cambio, una mejor práctica es utilizar consultas más eficientes y aprovechar el potencial de las consultas en lote o join para obtener la información necesaria en una sola consulta a la base de datos. Esto reduce la cantidad de consultas necesarias y mejora la eficiencia y el rendimiento de la aplicación y la base de datos.

La opción C) no es correcta, ya que el problema de las queries N + 1 no se trata de ir a la base de datos una sola vez para obtener todas las informaciones necesarias. Se trata de evitar realizar múltiples consultas adicionales innecesarias para obtener información relacionada.

1 respuesta

Hola Magda, ¡espero que estés bien!

Gracias por tu aporte, esperamos que disfrutes mucho del contenido del curso y que esto te ayude a llegar lejos.

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte. ¡Un saludo!

Anexo: el foro se centra en las dudas de contenido y actividad, ¡pero apreciamos sus resultados! Te sugiero que compartas tus resultados en tu grupo en lo servidor del Discord.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!