`

Web开发中一种用sql语句完成分页的高效率方法(1)

阅读更多
来源/作者:互联网 beyond_xiruo 2002-11-19 [评论(0条)]

 

一、Jsp方法如下:
**********************
<%@ page language="java" import="java.util.*,java.sql.*" %>
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="cn" scope="page" class="myConnection.Conn" /><!--引用数据库操作的bean,自己完成,这里不再赘述-->
<%
int curpage=1;//当前页
int page_record=20;//每页显示的记录数
//用下面的方法(sql查询完成,速度快)
curpage=Integer.parseInt(request.getParameter("page"));//获取传递的值,需要显示的页
ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
while(rs.next) {
  out.println(rs.getInt("id").toString());
}
rs.close();
%>
**********************
二、asp中的方法
*******************
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim curpage=1'当前页
dim page_record=20'每页显示的记录数
curpage=request("page")'获取传递的值,需要显示的页
……'连接数据库操作代码省略
rs.open "select top "+page_record+" * from tablename where id not in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc",conn,1,3
'本查询语句得到的是所要显示的1000页的20条记录,大致思路为——子查询排除需要显示的记录前的所有记录,父查询则对余下的记录进行降序排列
while not rs.eof
response.write rs("id")
rs.movenext
wend
rs.close
conn.close
%>
*********************
感谢阅读,希望本文对你有帮助

 
分享到:
评论

相关推荐

    SQL分页语句

    SQL分页语句 有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活。先看看单条 ...

    分页 jar包,jdbc ,hibernate(sql语句分页)

    基于sql语句的分页,效率更高,此jar包包含常用分页格式 使用方法在jboss5的博客中

    Oracle,SQl,MySql实现分页查询

    分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用 SELECT u.username FROM `user` u join contact_info c on (u.id=c.user_...

    分享三种高效率SQL语句分页方法

    分享三种高效率SQL语句分页方法,需要的朋友可以参考下。

    linq分页方法步骤在注释里_生成数据库分页及sql语句

    linq分页,cs文件和word解释,需要自己建立项目并配置,是正宗的数据库分页,效率较高

    一条SQL语句搞定Sql2000 分页

    一条sql语句就实现了分页效果,但效率不是很高,建议学习,不建议使用,最好用存储过程

    asp.net使用oracle分页存储过程查询数据

    该方法中,将参数连接字符串,查询的sql语句,指定每页显示多少行,调用成功后,会返回页数,行数,还有查询的结果数据集。 使用说明 1、请先在Oracle数据中新建存储过程 2、修改代码中的相关参数。比如,连接...

    海量数据库的查询优化及分页算法方案 2 之 改良SQL语句

    海量数据库的查询优化及分页算法方案 2 之 改良SQL语句是指在海量数据库中,通过优化SQL语句和分页算法来提高查询效率和性能。以下是相关的知识点: 1. 查询优化器的工作原理:SQL SERVER中有一个“查询分析优化器...

    oracle 高效分页

    oracle 高效分页,使用SQL语句控制所查询出的行号

    mybatis3.x源码深度解析与最佳实践.pdf

    SqlSource 是 MyBatis 中的核心对象之一,该对象负责将 SQL 语句解析成可执行的语句。 3.2 SqlNode SqlNode 是 MyBatis 中的另一个核心对象,该对象负责将 SQL 语句解析成可执行的语句。 3.3 BaseBuilder ...

    Oracle实现分页查询的SQL语法汇总

    本文实例汇总了Oracle实现分页查询的SQL语法,整理给大家供大家参考之用,详情如下: 1.无ORDER BY排序的写法。(效率最高) 经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响...

    存储过程的分页方案比拼

    (转网络的)通过SQL 查询分析器,显示比较:我的结论是: ...分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为通用

    数据库分页查询语句数据库查询

    关于分页 SQL 的资料许多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是颠末预编译的,执行效率高,也更灵活

    mysql分页原理和高效率的mysql分页查询语句

    以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎么做呢? 第一部分:看一下分页的基本原理: 代码如下:mysql explain ...

    SQL培训第一期

    存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 1.9.2 准备 create table t_user ( username varchar2(20), ...

    05-VIP-Mysql索引优化实战二.pdf

    Mysql索引优化实战二 本文档主要介绍了Mysql索引优化的实战经验,着重于分页查询优化和Join关联查询优化。 一、分页查询优化 ...通过对索引的合理使用和合理的SQL语句优化,我们可以提高Mysql查询的执行效率。

    asp.net知识库

    也论该不该在项目中使用存储过程代替SQL语句 如何使数据库中的表更有弹性,更易于扩展 存储过程——天使还是魔鬼 如何获取MSSQLServer,Oracel,Access中的数据字典信息 C#中利用GetOleDbSchemaTable获取数据库内表信息...

    ImportSQL V1.4

    目前测试的最大数据量为67w条,智能分页查询,效率更高。 4. 支持自定义查询,并生成支持的文档格式 &lt;br&gt;5. 支持文本文件、CSV、SQL、XML &lt;br&gt;6. 可导出所有的视图或存储过程、用户函数、触发器、表、...

    基于Oracle数据库海量数据的查询优化研究.pdf

    因此,必须对数据查询优化做好 SQL 语句优化工作,保证能够实现高效率的 SQL 语句执行。 在具体的优化语句过程中,一般要先查询等价交换方面的工作,根据查询语义来实现语句执行。优化 SQL 的数据操作为:1) 通过...

    jdbc编程[归纳].pdf

    JDBC(Java Database Connectivity)是一种用于执行 SQL 语句的 Java API。JDBC 提供了一个通用的接口,允许 Java 应用程序与不同的数据库管理系统交互。 1.2.2 JDBC 的用途 JDBC 的用途非常广泛,例如: * ...

Global site tag (gtag.js) - Google Analytics