在数据表上使用泛型列表会导致更少的性能开销

本文关键字:开销 性能 数据表 列表 泛型 | 更新日期: 2023-09-27 18:30:46

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

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

现在,我只是质疑如果我使用泛型列表(列表)并使用 LINQ 筛选所需数据,性能滞后可能会减少。

我知道可能还有其他问题导致页面加载缓慢,但看到大量数据通过 DataTables纵似乎有点矫枉过正。

在数据表上使用泛型列表会导致更少的性能开销

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

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