代码如下: –代码一DECLARE cc INT SELECT NewsId,ROW_NUMBER() OVER(ORDER BY SortNum DESC) AS RowIndex INTO #tb FROM news WITH(NOLOCK) WHERE NewsTypeId=NewsTypeId AND IsShow=1 SET cc = ROWCOUNT SELECT n.* FROM news AS n WITH(NOLOCK), #tb As t WHERE t.RowIndex&g
先看看单条 SQL 语句的分页 SQL 吧。 方法1: 适用于 SQL Server 2000/2005 代码如下: SELECT TOP 页大小 * FROM table1 WHERE id NOT IN ( SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id ) ORDER BY id 方法2: 适用于 SQL Server 2000/2005 代码如下: SELECT TOP 页大小 * FROM table1 WHERE id >
最近在做一个几百万条数据的分页查询,研究了各种方案,在本机上用项目的实际数据库做测试,测试过程 is very 痛苦,不堪回首ing。现在废话不多说,直接上结果,相信这也是大多数搜索答案的人最愿意看的方式。
以下是存储过程的代码:
代码如下:CREATE PROCEDURE [dbo].[P_GridViewPager] ( recordTotal INT OUTPUT, –输出记录总数 viewName VARCHAR(800),
代码如下:–******************************************************* –* 分页存储过程 * –* 撒哈拉大森林 * –* 2010-6-28 * –******************************************************* if exists(select * from sysobjects where type=’P’ and name=N’P_Paging’) drop procedure P_Pag
测试环境 硬件:CPU 酷睿双核T5750 内存:2G 软件:Windows server 2003 + sql server 2005 OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable 代码如下: create database data_Test –创建数据库 data_Test GO use data_Test GO create table tb_TestTable –创建表 (id int identity(1,1) primary