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.