分页存储过程一直是很多人经常用到的东西,怎么样才能设计一个既实用,又强大,还可以解决大数据量的分页存储过程呢?其实在很多时候设计的度还是要把握的,不至于让自己陷入【非要把它设计成万能的分页存储过程】的怪圈中才是最重要的,因为我们还要留出时间还解决其他的很多问题,个人认为适度就可以了,留出一定的空间。也因为万能是不存在的,万物在一定的范畴之内都是合理的,出了范畴可能就没有合理的了。 Not in select top...
sql2005 存储过程分页代码,发的也比较多了,这里脚本之家兼得整理下,大家可以多参考几个。选择自己喜欢的。代码如下:create database Test on primary ( name=Test_Data.mdf, filename=D:\我的资料\sql\备份\Test_Data.mdf ) log on ( name=Test_Data.ldf, filename=D:\我的资料\sql\备份\Test_Data.ldf ) if object_id(tb) is not null drop table tb create table tb ( Col int ) insert into tb select top 50 number from ma...
三种SQL分页查询的存储过程代码,需要的朋友可以参考下。代码如下:--根据MAX(MIN)ID CREATE PROC [dbo].[proc_select_id] @pageindex int=1,--当前页数 @pagesize int=10,--每页大小 @tablename VARCHAR(50)=,--表名 @fields VARCHAR(1000)=,--查询的字段集合 @keyid VARCHAR(50)=,--主键 @condition NVARCHAR(1000)=,--查询条件 @orderstr VARCHAR(500),--排序条件 @totalRecord BIGINT OUTPUT--总记录数 AS IF ISNULL(@orderstr,...
有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活先看看单条 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...
SQL2005利用ROW_NUMER实现分页的两种常用方式 代码如下:declare @PageNumber int declare @PageSize int set @PageNumber=2 set @PageSize=20 --利用between select * from ( select row_number() over (order by source_ip,id) as row_num, * from tb) as page_table where row_num between (@PageNumber - 1) * @PageSize + 1 and @PageNumber * @PageSize --利用top方式 select top 20 * from ( select row_number() over (ord...
仅列出实例SQL,其他的请大家自己完成吧@StartIndex为当前页起始序号,@EndIndex为当前页结束记录序号,可以直接作为参数输入,也可以通过输入PageSize和PageIndex计算得出 代码如下:select * from ( select *,row_number() over(order by OrderColumn) as orderindex from TableName ) as a where a.orderindex between @StartIndex and @EndIndex
MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考这个问题还是从前天开始。有过痛苦有过绝望,到现在充满信心!MySql 这个数据库绝对是适合dba级的高手去玩的,一般做一点1万篇新闻的小型系统怎么写都可以,用xx框架可以实现快速开发。可是数据量到了10万,百万至千万,他的性能还能那么高吗?一点小小的失误,可能造成整个系统的改写,甚至更本系统无法正常运行!好了,不那么多废话了。用事实说话,看例子: 数据表...
扩展性很好的一个分页存储过程分享,需要的朋友可以参考下。这是经常用的一个分页存储过程 希望大家指点不足 代码如下:USE [a6756475746] GO /****** Object: StoredProcedure [dbo].[tbl_order_SearchWhereAndPage] Script Date: 11/01/2011 09:37:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[tbl_order_SearchWhereAndPage] @AllCount int OUTPUT, @PageIndex int, @PageSize int , @...
这两天帮朋友修改一个项目,看到一个存储过程,感觉性能非常高。于是,整合自己以前搜集的比较好的存储过程,拿来跟大家分享下(下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。) 朋友的比较好的存储过程。优点是:性能非常的高,每次查询都是根据ID查询,每次都是对一半的数据进行分页。缺点是:当有多个排序条件时,分页数据显示会出现问题。(该问题在第二...
MySQL的优化是非常重要的。其他最常用也最需要优化的就是limit。MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的。 网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用。今天发现一篇文章写了些关于limit优化的,很不错。...
mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。利用select语句的一个特性就可以很方便地实现mysql查询结果的分页,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪。 mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。 mysql中利用select语句的一个特性就可以很方便地实现查询结果...
sql 存储过程分页代码 支持亿万庞大数据量,需要的朋友可以参考下。代码如下:CREATE PROCEDURE page @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = *, -- 需要返回的列 @fldName varchar(255)=id, -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则返回 @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 0:asc 1:desc @strWhere var...
针对SQL 2000 的分页存储过程,有详细参数说明代码如下:---------------------------------------------------- --针对SQL 2000 的分页存储过程 --Time:2008-9-25 ---------------------------------------------------- ALTER PROCEDURE [dbo].[uoSp_RecordPager] --要分页显示的表名,可多表连查,但不能使用别名。 --例:uo_Article LEFT JOIN uo_ArticleClass ON uo_Article.AClassID=uo_ArticleClass.ID @Table_info varchar(...
项目中有很多小型的表(数据量不大),都需要实现分页查询,因此实现了一个通用的分页。建立好如下的存储过程,以后要分页,直接调用改存储过程就可以了。 注意:数据量大、性能要求高的,请个性化处理。 代码如下:ALTER PROCEDURE [dbo].[COMMON_PROCEDURE_SelectWithPage] @Sql VARCHAR(5000), @CurrentPageNo INT, @PageSize INT, @TotalNum INT OUTPUT AS SET NOCOUNT ON DECLARE @SqlCmd VARCHAR(5000) --------------------...
在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话。测试环境 硬件: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...