当前位置:三九宝宝网 → 宝宝教育 → 智力培养 → 正文

数据库开发分页的思路

更新:02-25 整理:39baobao.com
字体:

[1.5结语SQLServer2005数据库开发详解]1.5 结语 很多朋友在各种场合询问笔者:透过通过 SQL Server 2005 的各种功能设计,应用程式程序的架构是什么?大哉斯问?!。SQL Server 2005 提供了很多新的功能,但都还需要市场的...+阅读

如果用一般的SELECT * 查询SQL数据库,然后用recordset进行分页的话,在返回结果很多的情况下将会是一个漫长的过程,而且很消耗内存.你可能会有感觉,用access也比SQL快. 其实我们可以只取出我们每页需要显示的记录数,这样的速度是惊人的,非常快.这里我们会用到聚集索引来快速确定我们需要取出的记录数的位置.如下面: if p>1 then 'p为PAGE页数 if n="next" then'下一页 sql="select top 26 * from song1 where id > "&pk&" and contains(songtitle,'"&songname&"')" 'PK为当前页的最大ID数 elseif n="prev" then'上一页 sql="select top 26 * from song1 where id < "&previd&" and contains(songtitle,'"&songname&"') order by id desc"'previd最小ID end if else sql="select top 26 * from song1 where contains(songtitle,'"&songname&;"')"'没有指定PAGE值,默认第一页 end if 这里用到了全文检索,速度也是很快的,我在52万记录下测试,最快可以46MS(机器C1.7. DDR 256M),感觉比较可以,我用like代码模糊查询页测试过,在结果集很多的情况下比全文更快,但是如果结果很少(整个表只有那么几条)将是漫长的过程,因为要对全表进行扫描!

按上面的方法不能得出所查询结果得总记录数,这里我们可以用select count(*) 来获取记录总数,速度页还过得去,不过感觉要慢一截,特别是记录集很多得情况,不过这样占用得内存很小得.

希望能帮到你。

数据库分页的语法请解释一下!

一下是通用的Sql分页存储过程具体代码: Create proc proc_Myprco pageCount int , --页大小 pageIndex int , --当前页 tableName varchar(20) --表名 as declare pkName varchar(20) --获取指定表的主键 SELECT pkName = COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME=tableName --print pkName --临时变量,用来保存当前页前面的数据行数 declare temp int set temp = pageCount * pageIndex declare cmdText varchar(200) --拼接SQL查询语句 set cmdText =' select top '+convert(varchar(20),pageCount)+' * from '+tableName+' where '+pkName+' not in( select top '+convert(varchar(20),temp)+ ' '+pkName+' from '+tableName+' order by '+pkName+' )' --print cmdText --执行语句并返回结果 exec sp_sqlexec cmdText go 分页的原理如下: select top (分页大小) * from tableName where id[主键] not in (select top(分页大小*当前页) id from tableName) 上面这句代码的意思是: 查询这个表除开以前页面的数据。

怎样实现sql数据库中表的分页功能用存储过程

create proc ProcPageing

pageindex int,

pagesize int

as

begin

select top pagesize * from TableName where ID not in(select (pageindex-1)*pagesize ID from TableName order by ID desc) oder by desc

end

go --最简单的分页存错过程 不带条件、表的 ID号连续(这里可以使用 rows_number() over(ID order by desc) as TID) 这样 不管数据库ID是不是连续的ID 这个TID就会是连续的.

本文地址:https://www.39baobao.com/show/32_80523.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

android开发修改了数据库后怎么更新给你提供几种方法吧: 在查看学生信息的那个Activity里面,重写onResume方法,在这个方法里面获取数据来显示视图,无论是这个activity新创建,还是从后台不可见转为前台,都会走这个生...

数据库的开发流程是什么这是一个非常复杂的问题。建议这位网友去看看有关软件工程的书籍。当然,看书是一件非常烦闷的事情,在这,尽管试试将我的经验写一点吧。 首先,要明确你要做一个什么系统。想达到...

数据库常用的开发方法有哪些呢最常见的开发方法就类似: string sql = "select * from table1 where name = '" + name + "'"; 这种方式有被注入攻击的危险 所以解决方案有2种: 1、改成:string sql = "select * fro...

数据库应用软件开发工具有哪些我正在学的也是数据库开发,有FoxPro 2.5b for windows 这是2005年的软件!不过操作简单!非常好学!之后你再学一下当下的主流SQL Server这个功能强大的软件 !我现在就在学这一个软...

ios开发用什么数据库一般的数据量很小的项目,没必要使用数据库,如果只是保存写用户信息,大可以用其他的方法,用keychain或者nsuserdefault或者其他的都可以。任何一个项目都需要保存一个使用状态,不...

数据库开发工程师的工作内容数据库开发工程师的日常工作是设计、开发数据库系统和数据库应用软件,因此与软件研发的过程一样,会覆盖需求、设计、编程和测试四个阶段: 需求:深入调研用户市场需求,认清项目的...

开发数据库程序用什么工具这个问题不可能有唯一的答案。既然你会很多工具,当然可以根据实际情况来考虑。作为我,我通常会使用最熟悉的工具,比如VB、VC。只有在一些特殊的情况下才使用其他工具。另外一个...

解释下软件开发。系统维护。数据库管理你好,鉴于问题的要求,解答如下: 一、软件开发 软件开发的内容主要是需求、设计、编程和测试 需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目...

数据库开发是做什么东西的数据库开发可以理解为两个: (1)数据库系统的开发,这是大公司的工作,有严格的研发标准和庞大的研发队伍,主要是研发数据库系统的。 (2)数据库应用的开发,也就是利用数据库做一下应用的...