This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-09
Channels
- # aleph (1)
- # announcements (4)
- # asami (6)
- # babashka (45)
- # beginners (19)
- # biff (3)
- # calva (35)
- # cider (4)
- # clojars (5)
- # clojure (117)
- # clojure-art (3)
- # clojure-denmark (2)
- # clojure-europe (89)
- # clojure-gamedev (5)
- # clojure-nl (4)
- # clojure-norway (17)
- # clojure-spec (3)
- # clojure-uk (5)
- # clojurescript (84)
- # conjure (13)
- # datomic (11)
- # emacs (2)
- # figwheel (2)
- # fulcro (16)
- # graphql (5)
- # honeysql (7)
- # introduce-yourself (1)
- # lsp (86)
- # malli (16)
- # music (1)
- # off-topic (2)
- # pathom (14)
- # polylith (28)
- # re-frame (11)
- # reagent (23)
- # releases (1)
- # reveal (19)
- # shadow-cljs (72)
- # spacemacs (13)
- # sql (1)
- # test-check (3)
- # timbre (4)
- # tools-deps (45)
- # vim (18)
The dataloader project @hlship refers to is probably https://github.com/oliyh/superlifter which was built precisely to tackle the n+1 problem
It really depends how diverse your graph / root queries / backend sources are. It sounds like @hlship has relatively few root queries (or resolvers, anyway) which can be optimised with their look-ahead approach. If you have a wide range of root queries with many possible edges in your graph you may prefer to have more, smaller resolvers that you can reuse, but they will be less efficient unless you use the dataloader pattern
I'm trying to update to Lacinia 1.1 and various checks we have complain about io.aviso.pretty not being available: I think there's a PR for this here: https://github.com/walmartlabs/lacinia/pull/403