最近做项目经常涉及到好多个表来查询并且分页,用原始方法 也就是 Top 方式 查询 很少的数据竟然用了20多秒,我都哭了
用了下面这种方式的查询,虽然没有进行具体的测试,但是我感觉他的效率是非常棒的。
Select * from (Select row_number() over (Order by b.排序字段 desc) as myid,b.* from 表1 as b where 条件 ) as MyTable Where MyTable.myid between @pageSize*(@currentPageIndex-1) and @pageSize*@currentPageIndex