public class Item
{
public int Id { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public decimal Cost { get; set; }
public Department ItemDept { get; set; }
public Category ItemCat { get; set; }
public List<Supplier> Suppliers { get; set; }
public List<Barcode> Barcodes { get; set; }
public List<Discount> Discounts { get; set; }
}
我正在使用Dapper,因此我的查询是与Sql Server 2008交谈的纯SQL;
如何改善这方面的表现? 假设查询是按Id(主键)获取项目 哪一个更快或更好? - 一个查询充满了连接(左连接,内连接......等)(仅限1个往返) 要么 - 首先查询该项,然后对相关表执行另一个查询(许多往返) 或者你们有什么建议吗?
答案 0 :(得分:3)
评论太长了。
回答性能问题的最佳方法是尝试使用系统上的数据。然后,您可以检查哪些方法更有效。
知情推测说,让数据库进行连接是正确的做法。数据库是为此操作而设计的,它们应该有效地实现连接。也许更重要的是,您运行的每个查询都有开销。开销以编译查询。延迟是将查询传递给数据库。处理结果并将其返回应用程序时的数据库开销。
这也表明在数据库中做更多工作是件好事。但是,你应该检查你的系统。