¿Qué es el PROBLEMA N+1 y como SOLUCIONARLO?

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • No olvides dejar tu me gusta si te pareció interesante.
    Recuerda que puedes suscribirte a mi canal, eso me ayudaría mucho.

Комментарии • 12

  • @JuanCarlosLaurian
    @JuanCarlosLaurian Месяц назад

    Buen video. Considero que la solución más optima sería con un JOIN, al final haces una sola consulta y no te traes información de mas. Por ejemplo, qué pasa si tienes millones de post y solo querias filtrar los de 2 usuarios.

  • @Magistrado1914
    @Magistrado1914 6 месяцев назад +1

    Excelente vídeo y contenido.
    Visto en 04/03/2024

  • @cyberkiller83
    @cyberkiller83 8 месяцев назад +4

    Yo creo que la forma realmente pro de solucion este problema es crear un Join entre ambas tablas y solucion el problema completo con un solo query que se ejecutaria sobre el servidor, o de que me estoy perdiendo?

    • @jorgeandresnumamendoza258
      @jorgeandresnumamendoza258 8 месяцев назад

      De acuerdo, a demás tocaría realmente hacer un benchmark para determinar qué es menos costoso, cual es su consumo de memoria, de cpu, etc., pero tratar de optimizar la consulta en primera instancia es una mejor solución.

    • @cyberkiller83
      @cyberkiller83 8 месяцев назад

      @@jorgeandresnumamendoza258TIenes toda la razón, aunque hay cosas a tener en cuenta y es que ... si estamos hablando de una arquitectura cliente-servidor, el realizar la optimizacion del query, delega la resposabilidad del agregado de la informacion o el relacionado entre las tablas aprescisamente al dbms del servidor y por ende el rendimiento escalaria completamente con el escalado del servidor y no dependeria de los recursos del cliente para su rendimiento, mientras haciendo ciclos o procesamiento de bloques desde el cliente, impactaria el rendimiento de forma directamente proporcional con los recursos del cliente.
      Yo creo que siempre es una mejor manera entregar los calculos pesados al servidor y que sea este que me entregue la informacion completa que debo solamente mostrar al cliente, a delegarle logica de negocio al cliente, creo que es prescisamente parte de de los principios Solid delegar responsabilidades entre diferentes elementos y en este caso dejar al cliente unicamente como medio de mostrar la informacion y el servidor como medio de obtener la informacion

    • @imAlexisdzn
      @imAlexisdzn 7 месяцев назад

      Qué hay de las bases de datos no relacionales? O el problema se presenta en cualquier tipo de BD?

    • @pull-request
      @pull-request  7 месяцев назад

      A nivel de bases de datos no relacionales tambien puede pasar, sin embargo si se trabajan las relaciones como copias en cada elemento, en teoria bastaria con consultar 1 sola vez.

  • @carlosedgusi
    @carlosedgusi 7 месяцев назад +1

    Amigo este es un buen video y es un tema muy importante, empieza excelente hasta que empiezas a solucionar el problema, a partir de ahí me perdí por completo porque por partes hablabas, pero había pausas grandes hasta que volvías a hablar y mezclabas la explicación con lo que hacías o con solucionar problemas del código como en el fragmento 5:35 a 6:06 . Entiendo que pueden ser nervios, creo que a todos nos pasa y es normal, pero en momentos así está bien cortar alguna sección y regrabarla cuidando más la explicación y centrandote en el tema. Queda una explicación más clara y hay coherencia en lo que explicas.
    Esto lo hago como crítica constructiva no es queja ni nada así, creo que son buenos consejos a seguir mientras agarras más confianza y te acostumbras a grabar vídeos 🙃

    • @pull-request
      @pull-request  7 месяцев назад

      Gracias bro!, lo tendré en cuenta en futuros videos.

  • @robertgonzalez9571
    @robertgonzalez9571 7 месяцев назад

    Excelente video, ayuda bastante presentar problemas que se presenten y de que forma poder solucuinarlos

  • @luzclarke6333
    @luzclarke6333 7 месяцев назад

    Que paso con carga peresosa

    • @luzclarke6333
      @luzclarke6333 7 месяцев назад

      Convierte a json y deserialixa