我最近有几种情况,我需要同一张表中的不同数据.一个例子是我将循环遍历每个“交付驱动程序”,并为每个要交付的客户生成一个可打印的PDF文件.
在这种情况下,我把所有的客户都藏起来
List<Customer> AllCustomersList = customers.GetAllCustomers();
当我通过交付驱动程序,我会做这样的事情:
List<Customer> DeliveryCustomers = AllCustomersList.Where(a => a.DeliveryDriverID == DriverID);
解决方法
没有一个准确的行数,如果你传递它,你应该查询DB而不是在内存列表< T>
但是经验法则是,DB被设计为使用大量的数据,并且它们具有优化“机制”,而在内存中没有这样的事情.
所以你需要对它进行基准测试,看看DB的往返行为对于每一次对你来说都很重要的行数是值得的
大概97%的时间,我们应该忘记效率很低,过早优化是所有邪恶的根源“