I've created knex-graphql-utils, which optimizes your GraphQL server with PostgreSQL

I've created a tiny library which improves performance for GraphQL + Knex.
tl;dr
Before
After
  • Filter select columns based on a query from clients
  • Load relations without N+1 problem (pagination available!)
  • Currently only PostgreSQL is supported, but I'll support other RDBMS too if needed.
    Motivation
    Creating a GraphQL service with a Relational Database is a hard thing. We should take care of:
  • Performance for querying relations. N+1 problem will happen if you don't use Dataloader.
  • select * make your server slow, but hard to filter columns based on requests.
  • Pagination. Dataloader pattern is hard to implement pagination without a hacky union or window functions. knex-graphql-utils uses row_number() window function to do it.
  • As a developer, I noticed that I'm doing the same thing again and again - so I convert my work into a library.
    The syntax is like this:
    Please try it! Any feedback is welcome.

    51

    This website collects cookies to deliver better user experience

    I've created knex-graphql-utils, which optimizes your GraphQL server with PostgreSQL