检索分页的问题
我写一下检索分页,现在有种方法可以,但太慢   
 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进行分页。   
 速度快,特别是在数据量比较大的时候!!!