2

我是通用列表的忠实粉丝,并且在我从事的任何项目中都使用它们。但我目前正在处理由外部方编写的另一个项目,发现页面加载速度很慢。在某些情况下,页面加载只需 2 秒多一点。

通过初步调查,大多数页面都散布着大量的数据表,这些数据表存储了 1000 多行数据。我原以为声明和设置 DataTable 列会增加开销。

现在我只是质疑如果我要使用通用列表 (List) 并使用 LINQ 过滤所需数据,性能滞后可能会减少。

我知道可能还有其他问题会导致页面加载缓慢,但看到通过 DataTables 处理大量数据似乎有点过头了。

4

1 回答 1

2

如果有几个 DataTable对象,每个对象都有数千行,那么这些对象是否会在每个页面获取时填充?如果是这样,我并不感到惊讶它需要一段时间 - 并且简单地使用列表不会有帮助,因为我预计瓶颈会在多个查询中获取大量数据。IMO,在那里创建 a 的开销DataTable可能微不足道。(我通常也更喜欢使用列表等,但出于清洁原因而不是性能。)

当然,您应该真正分析慢速页面以找出瓶颈所在,而不是猜测。如果这是一个 MVC 项目,请查看MiniProfiler

于 2012-04-12T09:08:27.647 回答