Dapper Query vs Query多种性能



我目前使用 Query<> 查询 8 次(8 次,因为我必须将一些列转换为 JSON,有时是分开(以生成一个完整的结果集。但是,我想知道是否可以通过使用来提高性能 QueryMultiple .我有一个假设,QueryMultiple可以同时查询所有这些表,因此我不必等待每个查询完成。

我还有一个选择。它使用*Async版本的方法。

但是,如果不对代码进行重大更改,我就无法实现QueryMutiple。我应该使用常规方法的QueryMutiple版本还是*Async版本?这两种选择之间的权衡是什么,我应该使用哪一种?

QueryMultiple 将在一批中执行所有查询,导致只有一次往返数据库,而使用 Query<> 执行八个单独的查询也会导致八次往返。

如果按顺序执行所有查询(不使用 Async 方法(,则会浪费大量时间,因为数据库将在返回查询结果和应用程序接收下一个查询之间空闲。使用 Async 可以提高性能,因为应用程序可以在执行前一个查询时向数据库发送另一个查询。不过,使用 Async 仍然会导致一个查询进行八次往返和批处理,这意味着使用QueryMultiple最终会产生(理论上(的最佳性能。

最新更新