c# - 查询 List<T> 或数据库更快吗?

标签 c# asp.net database performance linq

我最近有几种情况需要同一张表中的不同数据。一个例子是我将遍历每个“送货司机”并为他们要送货的每个客户生成一个可打印的 PDF 文件。

在这种情况下,我把所有的customer拉过来,存入

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

当我遍历送货司机时,我会做这样的事情:

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

我的问题:每次查询与送货司机相关的客户记录时,我通过查询 List 对象的方式是否比查询数据库更快?

最佳答案

没有准确的行数,如果您传递它,您应该在内存中查询数据库 List<T>

但经验法则是,数据库旨在处理大量数据,并且它们具有优化“机制”,而在内存中则没有这样的东西。

因此,您需要对其进行基准测试,以查看往返数据库是否值得为那么多行每次对您很重要

“我们应该忘记小效率,大约 97% 的时间说:过早 优化是万恶之源

关于c# - 查询 List<T> 或数据库更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467143/

相关文章:

c# - jquery函数,根据下拉列表隐藏/显示文本

mysql - SQL 语句显示来自 3 个表的数据

c# - 与数据库绑定(bind)后在下拉列表中添加默认值

c# - 在预编译项目/库的其余部分时动态地在App_Code中编译一个类

asp.net - AttachDbFilename 有什么问题

asp.net - 在 ASP.NET Azure 托管网站和 Web 角色之间发出 AJAX 请求?

发生时复制每一行data.frame

java - 通过Java从MySQL数据库下载BLOB数据

c# - 无法使用 EF6 在 mysql 数据库上查询或插入

c# - 获取 Unity 中的预制件文件位置