哪一个更快?查询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(主键)哪一个更快或更好?-一个充满连接的查询(左连接,内连接等)(只有一次往返)或-先查询项目,然后对相关表执行另一个查询(多次往返)或者你们有什么建议吗?

哪一个更快?查询1实体并往返其他相关实体?或者把它和1个来回连接起来

回答性能问题的最佳方法是在系统上的数据上进行试验。然后,您可以检查哪些才是真正更好的。

知情推测说,让数据库做连接是正确的事情。数据库就是为这种操作而设计的,它们应该有效地实现连接。也许更重要的是,您运行的每个查询都有开销。编译查询的开销。延迟是将查询传递给数据库。处理结果并将结果返回给应用程序的数据库开销。

这也表明在数据库中做更多的工作是一件好事。但是,你应该检查一下你的系统