Sql 数据库分页

 时间:2024-10-13 00:10:20

前台缓存分页,如果数据很多的话会变得很慢,而且不方便,所以就在这里把数据库的分页进行集合。

工具/原料

sqlserver2008

分页第一种

1、首先 建一张测试表create database Testgouse Testgocreate Table UserInfo( userid int identity(1,1) primary key, username nvarchar(10) not null)

Sql 数据库分页

3、--查询第三页的数据--数据库模拟前台传过来的参数declare @pagesize int--定义显示条数declare @currentPage int--定义当前页set @pagesize = 3set @currentPage = 3--分页查询语句select top (@pagesize) * from Userinfowhere useridnot in(select top(@pagesize*(@currentPage-1))useridfrom UserInfo)

Sql 数据库分页

4、--第一页:因为不需要对数据过滤,--所以只取PagSize数量的记录--第二页:步骤:--1.取前两页的数据 selct top @pagesize *@currentPage--2.过滤掉第一页的数据@pagesize*(@currentPage-1)

分页第二种

1、--第二种方法:如果ID是连续,完全不用top--直接用id就可以--建表格 数据从UserInfo拿过来create table #tempUserInfo( id int identity(1,1) primary key, userid int not null, username nvarchar(10) not null)--插入数据insert into #tempUserInfoselect * from UserInfo

Sql 数据库分页

分页第三种

1、--第三种--rownumber()函数是sql server2005才有declare @pagesize intdeclare @currentPage intset @pagesize = 3set @currentPage = 3--查询语句select * from (select ROW_NUMBER() over (order by userid) as HangHao,*from UserInfo) pageduserinfowhere HangHao between(@currentPage -1)*@pagesize +1and @pagesize * @currentPage

Sql 数据库分页

2、--效率问题:第一张绝对比第三种低。--理论上第二种效率最高,但不推荐用,--要实现的话,一般是用存储过程个人推荐第三种

  • 望远镜观鸟小知识
  • jquery怎么显示div内的内容
  • 如何处理好青春叛逆期与父母的关系
  • 园艺知识手抄报
  • 荒野行动无声音怎么解决
  • 热门搜索
    马蜂窝旅游 北京旅游团 贝加尔湖旅游 内蒙古旅游攻略 旅游攻略网 旅游百事通 喀什旅游 陕西旅游景点大全 国家旅游网 川西旅游攻略