我有一个名为'考试'的模型和许多实例。每个实例都有一个叫做问题的大型json对象。但是,当我只获取考试的ID和名称时,我可以看到他们的json对象使得提取速度非常慢:
query {
exams {
name,
_id,
}
}
看起来只是访问具有大型json对象的特定模型需要永远,即使在不提取JSON对象的内容时也是如此。
我还注意到,如果我从与某些考试有关系的模型中获取数据,那么获取此模型也会非常慢。
只有在获取与模型本身具有与考试关系的关系的模型时,才会很快。即,只能非常快速地获取三度关系模型。
它有意义吗?我该如何修复我的馆藏,以便我可以快速获取考试列表。似乎即使我将每个考试的json对象移动到相关集合,它仍然会很慢
提前致谢
您的GraphQL应用程序存在性能问题。在您的问题中,您没有提供问题的原因。你应该找到瓶颈。
如果在DataBase层有问题,那么你可以使用改进你的mlab MongoDB实例来更好的一个。
如果在查询层出现问题,那么您需要在解析器中使用projection。这有令人敬畏的package graphql-fields。
如果错误的DataStructure出现问题,那么您需要重新设计GraphQL架构或mongoose模型。
如果在Node.js层出现问题,那么就不应该阻止事件循环。