我最近有几种情况需要同一张表中的不同数据。一个例子是我将遍历每个“送货司机”并为他们要送货的每个客户生成一个可打印的 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/