欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【初学者必读:经典的数据库记录分页代码】,下面是详细的分享!
初学者必读:经典的数据库记录分页代码
方案:
◆1、SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID NOT IN
(SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO
WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC)
AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC
其中:PAGE表示当前页数,PAGESIZE表示页的大小;这里利用了NOT IN,不复合SARG,但总比一次读取全部的记录要好的多。
◆2、符合 SARG的代码
针对本人的实例还有一个更好的方案:因为NEWSID字段是自增字段,对于NOT IN 语句进行如下的改造,并不影响结果。但速度提高了很多
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID <
(SELECT MIN(NEWSID) FROM (SELECT TOP (PAGE-1) * PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC) AS TB)AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC
说明
对于在多处使用分页功能的web 应用程序,把SQL语句改为存储过程将会更好。
以上所分享的是关于初学者必读:经典的数据库记录分页代码,下面是编辑为你推荐的有价值的用户互动:
相关问题:寻找sql server数据库分页查询的代码?
答:写个存储过程吧,挺简单的,我把我以前写的给你参考下: --分页 (客房信息分页) set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go create proc Page_Room_Pro @pageindex int, --当前行索引 @pagesize int , --每页显示记录数 @count int output ... >>详细
相关问题:分页显示多少条记录的代码
答:int pageSize:每页显示多少条记录 int pageNow:希望显示第几页 int pageCount:一共有多少页 int rowCount:一共有多少条记录 说明: pageSize是指定的 pageNow是用户选择的 rowCount是计算出来的 该计算式为 if(rowCount%pageSize==0){ pageCount... >>详细
相关问题:(JAVA)从数据库查出所有数据再分页的方法
答:hibernate 有自带的分页方法,你给他传一个(pageNow:当前页,pageSize:每页显示多少条),传好之后hibernate就能自动帮你实现分页了。 return this.getHibernateTemplate() .getSessionFactory() .getCurrentSession() .createQuery(hql.toString(... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
