Here's my take: anytime a client requires knowledge of your DB schema is a #fail. That's an extremely brittle architecture that's destined to provide years of problems.
This is why CQRS exists. Copy the contents of your database to another database that's optimized for query and retrieval. It has the added benefit of a deluge of queries won't impact operations utilizing the source database. Also, the source system can modify the schema all they want without impacting tens, hundreds, or thousands of clients. You can distribute it, shard it, do whatever you need to do to make it fast and efficient - all without affecting the source database.
That is how you solve this problem. Once you've done that, GraphQL just becomes one of many ways that a client can use to access the data, depending on the data management toolset you're using.
> anytime a client requires knowledge of your DB schema
GraphQL is very explicitly _not_ a representation of your database schema. The “schema” being referred to here is the GraphQL schema, not the SQL schema. I might be missing some nuance in your comment, but I do think this is a very important point to drive home.