性能:本地与数据库-实体框架

本文关键字:实体 框架 数据库 性能 | 更新日期: 2023-09-27 18:28:49

我四处寻找一个简单的答案,但|我没有找到(尽管如果我失明或不耐烦,我很高兴有人给我发布链接)

我的存储库中有以下代码

get
{
    if (context.entity.Local.Count == 0)
    {
        return context.entity;
    }
    return context.entity.Local;
}

我从常识中知道,单词local并不是查询数据库和从内存中获取结果集。然而,我想知道的是,从local获取结果集的速度比从数据库获取结果集快多少?这是一个巨大的差异?

我问,因为我想加快我的网络应用程序,所以我正在努力寻找代码中的弱点。

感谢

性能:本地与数据库-实体框架

首先,你的常识毫无意义。本地在EF中根本没有定义,所以它取决于谁创建了存储库,也可以引用其他东西。

第二——很多。很容易达到1000倍。数据库是一个独立的过程,包括生成SQL,然后解析SQL。2次网络传输(或网络分析仪传输)。把它比作只是读出一个属性。1000可能是保守的。并不是说在数据库中开始可能需要花费大量时间。

这取决于你做什么,但在内存中缓存和避免数据库是一种有效的策略,从性能角度来看,这会带来很大的不同。以消耗更多内存和更改同步问题为代价。后者对于某些(永远不会改变的)数据来说并不是真正相关的。