graphql / strapi:为什么获取具有大 json objects 的模型的 ID 需要这么长时间?

graphql / strapi: Why fetching of ids of a model that has large json objects takes so long?

我有一个名为 'exam' 的模型及其许多实例。每个实例都有大量 json object 称为问题。但是当我只获取考试的 ID 和名称时,我可以看到他们的 json object 使获取速度非常慢:

query {
  exams {
    name,
    _id,
  }
} 

似乎仅访问具有较大 json object 的特定模型就需要很长时间,即使未获取 JSON object 的内容也是如此。

我还注意到,如果我从与某些考试相关的模型中获取数据,那么获取该模型的速度也会非常慢。

只有在获取与本身与考试有关系的模型有关系的模型时,速度才会快。也就是说,只能非常快速地获取三度关系模型。

有意义吗?我应该如何修复我的 collections 以便我可以快速获取考试列表。看来即使我把每次考试的jsonobject移到相关的collection,还是会很慢

提前致谢

您的 GraphQL 应用程序存在性能问题。在您的问题中,您没有提供问题的原因。你应该找到瓶颈。

如果数据库层出现问题,那么您可以使用改进您的 mlab MongoDB 实例以使其更好。

如果查询层有问题,那么你需要使用projection at your resolver. There is awesome package graphql-fields

如果错误的数据结构出现问题,则需要重新设计 GraphQL 模式或猫鼬模型。

如果问题在Node.js层,那么你不应该阻塞事件循环。