问: 我想问一下:分页。
是.net中的分页功能使任何性能差异,我的意思是,有时候我有大数据,如果我想在gridview上绑定这些数据,例如,“分页”,例如通过计数10,带来10条记录和10等等或者就像我不使用分页一样,它首先带来所有数据,然后根据寻呼机计数查看它们。如果分页和性能之间没有关系,这种情况下的最佳做法是什么?
答案 0 :(得分:3)
这取决于如何实现分页。某些服务器控件的早期版本处理分页,将整个数据集读入内存,然后选择可用记录的子集。这是非常低效的,因为您已经承担了从数据库移动数据的传输成本,以及存储它的内存成本。
您可以做的是在数据库级别执行分页,传递页码和要检索的项目数,这样您只能在源处读取数据的子集。它会更高效。唯一的缺点是您可能需要在数据库中抛出另一个查询以确定项目总数,以便您可以正确分页。总而言之,我认为“源头分页”始终是首选解决方案。
答案 1 :(得分:1)
据我所知,像DataGrid这样的所有ASP.NET服务器控件都会加载整个结果集,然后只显示一个页面。你必须自己实现这个。
这里有一个讨论:http://www.codeproject.com/KB/aspnet/PagingLarge.aspx