哪一个更快?查询1实体并往返其他相关实体?或者把它和1个来回连接起来
本文关键字:实体 或者 1个 起来 连接 其他 查询 哪一个 | 更新日期: 2023-09-27 18:13:33
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与SQL Server 2008对话
如何提高性能?假设查询是get Item by Id(主键)哪一个更快或更好?-一个充满连接的查询(左连接,内连接等)(只有一次往返)或-先查询项目,然后对相关表执行另一个查询(多次往返)或者你们有什么建议吗?
回答性能问题的最佳方法是在系统上的数据上进行试验。然后,您可以检查哪些才是真正更好的。
知情推测说,让数据库做连接是正确的事情。数据库就是为这种操作而设计的,它们应该有效地实现连接。也许更重要的是,您运行的每个查询都有开销。编译查询的开销。延迟是将查询传递给数据库。处理结果并将结果返回给应用程序的数据库开销。
这也表明在数据库中做更多的工作是一件好事。但是,你应该检查一下你的系统