Skip to main content
Version: 6.4

Advanced Features

📄️ 数据加载器

n+1 问题是在一个查询中请求多种类型的数据,但需要 n 个请求而不是一个。这通常在数据嵌套时遇到,例如如果你请求作者及其书籍的名称。这是 GraphQL API 固有的问题,可以通过将多个请求批量合并为一个请求来解决。这可以通过数据加载器库自动执行,该库将合并在单个执行框架(事件循环的单个滴答)内发生的所有单独加载,然后使用所有请求的键调用批处理函数。这意味着为每个数据库调用编写一个批量加载函数,将多个查询聚合为一个查询,并过滤结果以将它们重新分配给原始查询。幸运的是,MikroORM 有大量元数据可以透明地自动化此过程,因此你不必编写自己的批量加载函数。