微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 查询列表或数据库是否更快?

我最近有几种情况,我需要同一张表中的不同数据.一个例子是我将循环遍历每个“交付驱动程序”,并为每个要交付的客户生成一个可打印的PDF文件.

在这种情况下,我把所有的客户都藏起来

List<Customer> AllCustomersList = customers.GetAllCustomers();

当我通过交付驱动程序,我会做这样的事情:

List<Customer> DeliveryCustomers = AllCustomersList.Where(a => a.DeliveryDriverID == DriverID);

我的问题:通过查询List对象,每次查询与传送驱动程序相关联的客户记录时,是否更快地查询数据库

解决方法

没有一个准确的行数,如果你传递它,你应该查询DB而不是在内存列表< T>

但是经验法则是,DB被设计为使用大量的数据,并且它们具有优化“机制”,而在内存中没有这样的事情.

所以你需要对它进行基准测试,看看DB的往返行为对于每一次对你来说都很重要的行数是值得的

大概97%的时间,我们应该忘记效率很低,过早优化是所有邪恶的根源“

原文地址:https://www.jb51.cc/csharp/96234.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐