在创建sql分页查询语句时,尽量使用存储过程,而不要用游标。
使用存储过程实现sql分页代码,存储过程是经过预编译的,执行效率高,也更灵活。
首先,来看下单条 sql 语句的分页查询。
方法1:
适用于 sql server 2000/2005
方法2:
适用于 sql server 2000/2005
方法3:
适用于 sql server 2005
说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。
其它方案:
如果没有主键,可以用临时表,也可以用方案三做,但是效率会低。
建议,sql查询优化时加上主键和索引,查询效率会提高。
通过sql 查询分析器,显示比较:
分页方案二:(利用id大于多少和select top分页)效率最高,需要拼接sql语句
分页方案一:(利用not in和select top分页) 效率次之,需要拼接sql语句
分页方案三:(利用sql的游标存储过程分页) 效率最差,但是最为通用