【发布时间】:2012-02-18 11:39:38
【问题描述】:
上周我一直在努力加快网站上的搜索结果。我们一直在做的是将网站上的分页转移到 SQL。这大大加快了分页速度,但是我仍然需要再次查询整个表以获取该表中的记录总数。
我正在缓存总数,并且仅当用户更改搜索参数以加快分页速度时才重新运行查询的这一部分,并且效果很好。我们现在遇到的问题是 SQL 服务器的 CPU 负载急剧增加,因此分页的性能急剧波动(在 100 毫秒到 2 秒之间)。
我只是想知道将整个结果表缓存在 Web 服务器上并使用DataTable.Select 或 Linq 语句来查询内存表/列表是否会更好?我意识到这会给 Web 服务器增加大量内存负载,但我们正在努力提高速度,因此升级 Web 服务器可能是值得的,因为它们也是负载平衡的,而 SQL 框则不是。
【问题讨论】:
标签: sql linq datatable pagination