关于 N+1 问题解决方案的疑问
資深大佬 : SakuraSv 0
最近在使用 Net.flix 的 DGS 框架写一个 GraphQL 服务,因为我对 GraphQL 实践经验不是很多,因此在处理 N+1 问题时产生了一些疑问。
在官方文档 Async Data Fetching 一章中( https://net.flix.github.io/dgs/data-loaders/),DGS 提供了 DgsDataLoader 来提供合成查询的方式解决该问题。
在文档另一章 Nested data fetchers ( https://net.flix.github.io/dgs/advanced/context-passing/)的 Pre-Loading 部分中又介绍了通过 DataFetchingEnvironment 获取 SelectionSet 并判断查询语句中是否有该子字段的方式提供预加载,我感觉这个方法也能解决 N+1 问题。
那么这两种方法有什么不同的适用场景吗,还是我对他们理解有问题呢?
—
因为网飞这个词被屏蔽了,所以上面链接 net 和 flix 那个点要删掉
在官方文档 Async Data Fetching 一章中( https://net.flix.github.io/dgs/data-loaders/),DGS 提供了 DgsDataLoader 来提供合成查询的方式解决该问题。
在文档另一章 Nested data fetchers ( https://net.flix.github.io/dgs/advanced/context-passing/)的 Pre-Loading 部分中又介绍了通过 DataFetchingEnvironment 获取 SelectionSet 并判断查询语句中是否有该子字段的方式提供预加载,我感觉这个方法也能解决 N+1 问题。
那么这两种方法有什么不同的适用场景吗,还是我对他们理解有问题呢?
—
因为网飞这个词被屏蔽了,所以上面链接 net 和 flix 那个点要删掉
大佬有話說 (5)