首页 文章

如何使用C#提高从数据库加载产品列表的进程的性能?

提问于
浏览
0

我有一个ASP.NET Web API,里面有ProductsController . 此外,还有GetProducts()方法从数据库加载所有产品 . 通常,我会立即加载所有记录以返回 . 但我不认为这是好主意 . 因为如果有超过一千条记录,则加载它们需要更多时间 . 我的问题是:如何提高性能并减少此操作的时间? P.S . :我有1个表和9个列 .

非常感谢您的关注 .

我的问题不是任何错误 .

1 回答

  • 0

    有一些方法,在评论中提到的是实现分页 .

    您还提到您有9列,因此只选择您需要的列而不是所有列 .

    假设你正在使用像Entity Framework这样的ORM,我看到的最大的错误就是人们在DbSet上调用ToList()...这是最容易陷入其他任何东西的陷阱,就像在分页之前调用ToList()一样这意味着您之后在实体上定义的操作将在内存中执行,而不是作为SQL语句执行 . 所以像.Skip(),Take()或Where子句都应该在执行查询之前通过调用ToList()来实现 .

相关问题