当前位置: 代码迷 >> Sql Server >> Recordset.PageSize属性的性能,操作大量数据时的性能!该如何处理
  详细解决方案

Recordset.PageSize属性的性能,操作大量数据时的性能!该如何处理

热度:129   发布时间:2016-04-24 20:21:17.0
Recordset.PageSize属性的性能,操作大量数据时的性能!
数据库中数据较多,我希望在页面中显示一部分数据,如果ADODB.Recordset的PageSize属性实现分页,在之前需要使用open方法读取全部数据,这是否意味着这个PageSiz属性仅仅是方便程序员显示分页而存在,若需要真正从数据源中读取分页数据,提高读取性能,节约内存和时间的话,还是需要编写相应的SQL查询吧?
sql? 分页 性能

------解决方案--------------------
如果你能确定所有的数据都会用到的话,那么一次全取出会好些。否则,还是用sql来查吧
------解决方案--------------------
1. --使用row_number() over(order by 字段) 产生行号, order by 为排序字段
2. --使用between and 取从哪条记录到哪条记录?
3. --分传入参数: PageSize,PageIndex,由这两个参数计算出[startRecord] AND [EndRecord]


SELECT * 
FROM (SELECT *,ROW_NUMBER() OVER (ORDER BY CourseName) AS RowNumber FROM IndvCourse ) T 
WHERE T.RowNumber BETWEEN [startRecord] AND [EndRecord];

------解决方案--------------------
建议要显示多少就查多少
------解决方案--------------------
数据库级别的分页是必要的。
  相关解决方案