select count(*) from 表1 where 列1=@输入值 ....
这个是统计总记录数,现在的问题是,这个非常消耗资源,有没有什么办法知道总记录数,但是又不需要这一步,我现在用的是sql2005,有row_number这个函数,有没有办法利用这个函数或者其他函数来统计数字,就可以避免查询两次(第1次查询总记录,第2次查询top N记录)
这个是统计总记录数,现在的问题是,这个非常消耗资源,有没有什么办法知道总记录数,但是又不需要这一步,我现在用的是sql2005,有row_number这个函数,有没有办法利用这个函数或者其他函数来统计数字,就可以避免查询两次(第1次查询总记录,第2次查询top N记录)
select * from tb where rownum <= 100如果sql server 2005有row_number
尝试
select * from tb where row_number() <= 100
top 1 [rows]=row_number() over(order by 列1)from
T
where
条件..
order by [rows] desc
1 知道符合条件的总数目 -----select count(*) from 表1 where 条件限制2 取需要的数据,例如第一页取第1到第20条数据 ----各种分页方法就不具体说了在上面的两个过程中,第一步会严重消耗性能我想请问一下大家,有没有不需要知道总数目,也就是不执行第一步的分页存储过程?