当我在Vapor中运行用Swift编写的查询时,我注意到Fluent的性能非常糟糕。当我以这种方式运行原始查询时:
SELECT * FROM "Model"
响应时间约为20-30毫秒。如果我以这种方式运行查询:
Model.query(on: request).all()
响应时间增加了十倍。为什么?有什么问题?
额外时间的一大部分可能是将查询结果解码为Model对象。
此外,还在Vapor 4(以及新的Fluent版本)上进行了工作,这将使数据库查询更快。