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

问题描述 投票:1回答:1

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

query {
  exams {
    name,
    _id,
  }
} 

看起来只是访问具有大型json对象的特定模型需要永远,即使在不提取JSON对象的内容时也是如此。

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

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

它有意义吗?我该如何修复我的馆藏,以便我可以快速获取考试列表。似乎即使我将每个考试的json对象移动到相关集合,它仍然会很慢

提前致谢

graphql mlab strapi
1个回答
1
投票

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

如果在DataBase层有问题,那么你可以使用改进你的mlab MongoDB实例来更好的一个。

如果在查询层出现问题,那么您需要在解析器中使用projection。这有令人敬畏的package graphql-fields

如果错误的DataStructure出现问题,那么您需要重新设计GraphQL架构或mongoose模型。

如果在Node.js层出现问题,那么就不应该阻止事件循环。

© www.soinside.com 2019 - 2024. All rights reserved.