• Turun@feddit.de
    link
    fedilink
    arrow-up
    9
    ·
    5 months ago

    Neat idea and solves e.g. the N+1 problem.

    But doesn’t that just shift the DB logic (denormalization, filtering, aggregation) into the application code?

    • Nighed@sffa.community
      link
      fedilink
      English
      arrow-up
      5
      ·
      5 months ago

      SQL returns subsets of all tables with only those tuples that would be part of the traditional (single-table) query result set

      So it returns only the data that would be returned from the query, so the filtering is done.

      I can see some uses of it. If you look at what something like Entity Framework does behind the scenes to return nested objects, you can see how something like this might help.

      • Turun@feddit.de
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        Yeah, the post on Reddit had some insightful comments as well.

        I did not think of nested objects that may be returned by an entity framework before.

        • Nighed@sffa.community
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 months ago

          EF can have big problems with “Cartesian explosions” if an object has two lists of sub objects to return, it will get listA length x listB length items due to how the joins work. You can see how this leads to the explosion part of the name (with more objects or lists).

          Their solution is a “split query” option, that does each sub table as a separate query, then seamlessly gives you the combined result.

          If a change like this let’s you get those different table lists as distinct lists with the processing and round trip time of multiple requests then it could be a game changer.

          (Source - my last week 🤣😭 + lots of EF docs)