我不是这些方面的专家(我已经习惯了Laravel),但在Apollo服务器上运行一个查询大约需要7.2秒,总共可能需要300个项目。
下面是整个解析器——正如您所见,除了运行查询之外,基本上没有任何逻辑。它的速度非常慢。
getMenu: async (parent, {
slug
}, { models, me }) => {
const user = await models.User.findByPk(me.id)
const account = await models.Account.findByPk(user.accountId, {
include: [{
model: models.Venue,
as: 'venues',
include: getVenueIncludes(models)
}],
minifyAliases: true
})
return account.venues.find(venue => venue.slug === slug): null
},
我意识到这一点相当模糊,但有人知道我会在哪里尝试改进这一点吗?我知道它们是不同的,但在Laravel应用程序中,我可以在不到一秒钟的时间内加载10倍于这个数量(更多嵌套)。。。