日期:2014-05-19  浏览次数:20715 次

检索分页的问题
我写一下检索分页,现在有种方法可以,但太慢

SELECT   TOP   10   *   FROM   dbo.dm_cp   WHERE   (Id   <(SELECT   MIN(Id)   AS   Expr1   FROM   (SELECT   TOP   页数*10   Id     FROM   dbo.dm_cp   where   aa   like   '%bbbb% '   ORDER   BY   Id   DESC)   DERIVEDTBL)   and   aa   like   '%bbbb% '   ORDER   BY   Id   DESC ";

这样写等于检索了两次(aa   like   '%bbbb% '),几万条数据看不出来,如果多了太慢了,高手们有没有好的解决方法啊?先谢谢了

------解决方案--------------------
用的子查询多肯定慢了
------解决方案--------------------
参考分页存储过程:http://channel7.cn/2004/12-6/14729.html
------解决方案--------------------
建议使用SQL为公布的存储过程sp_cursoropen、SP_CURSORFETCH、SP_CURSORCLOSE进行分页。

速度快,特别是在数据量比较大的时候!!!