电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SQL Server 2005下的分頁SQL

瀏覽:137日期:2023-11-03 08:59:28

其實基本上有三種方法:

1、使用SQL Server 2005中新增的ROW_NUMBER

幾種寫法分別如下:

1SELECT TOP 20 * FROM (SELECT2ROW_NUMBER() OVER (ORDER BY Namec) AS RowNumber,3*4FROM5dbo.mem_member) _myResults6WHERE7RowNumber > 100008

1SELECT * FROM (SELECT2ROW_NUMBER() OVER (ORDER BY Namec) AS RowNumber,3*4FROM5dbo.mem_member) _myResults6WHERE7RowNumber between 10000 and 10020

1WITH OrderedResults AS 23(SELECT *, ROW_NUMBER() OVER (order by Namec) as RowNumber FROM dbo.mem_member)45SELECT * 67FROM OrderedResults89WHERE RowNumber between 10000 and 10020不管哪種寫法,性能都不理想。在8,9萬條數據的情況下要運行6秒左右。

2、使用臨時表再加存儲過程

1BEGIN2;;;;;DECLARE @PageLowerBound int3;;;;;DECLARE @PageUpperBound int4;;;;;5;;;;;-- Set the page bounds6;;;;;SET @PageLowerBound = 100007;;;;;SET @PageUpperBound = 1002089;;;;;-- Create a temp table to store the select results10;;;;;Create Table #PageIndex11;;;;;(12;[IndexId] int IDENTITY (1, 1) NOT NULL,13;[Id] varchar(18) 14;;;;;)15;;;;;16;;;;;-- Insert into the temp table17;;;;;declare @SQL as nvarchar(4000)18;;;;;SET @SQL = 'INSERT INTO #PageIndex (Id)'19;;;;;SET @SQL = @SQL + ' SELECT'20;;;;;SET @SQL = @SQL + ' TOP ' + convert(nvarchar, @PageUpperBound)21;;;;;SET @SQL = @SQL + ' m_id'22;;;;;SET @SQL = @SQL + ' FROM dbo.mem_member'23;;;;;SET @SQL = @SQL + ' ORDER BY NameC'24;;;;;25;;;;;-- Populate the temp table26;;;;;exec sp_executesql @SQL2728;;;;;-- Return paged results29;;;;;SELECT O.*30;;;;;FROM31;dbo.mem_member O,32;#PageIndex PageIndex33;;;;;WHERE34;PageIndex.IndexID > @PageLowerBound35;AND O.[m_Id] = PageIndex.[Id]36;;;;;ORDER BY37;PageIndex.IndexID38;;;;;39drop table #PageIndex;40;;;;;END而使用這種方法,在同樣的情況下用時只需1秒。

看樣子,row_number是個雞肋。

3、如果覺得臨時表不好,還可以使用SET ROWCOUNT

1begin2DECLARE @first_id varchar(18), @startRow int3;4SET ROWCOUNT 100005SELECT @first_id = m_id FROM mem_member ORDER BY m_id67SET ROWCOUNT 2089SELECT m.* 10FROM mem_member m11WHERE m_id >= @first_id12ORDER BY m.m_id1314SET ROWCOUNT 015end不過,這種方法有缺點。按ID排序就快,按其他字段排序就慢。

大家有什么意見,歡迎拍磚。

標簽: Sql Server 數據庫
主站蜘蛛池模板: EPDM密封胶条-EPDM密封垫片-EPDM生产厂家| 走心机厂家,数控走心机-台州博城智能科技有限公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 上海佳武自动化科技有限公司| 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 焊接减速机箱体,减速机箱体加工-淄博博山泽坤机械厂 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 | 户外-组合-幼儿园-不锈钢-儿童-滑滑梯-床-玩具-淘气堡-厂家-价格 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 中央空调维修、中央空调保养、螺杆压缩机维修-苏州东菱空调 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 鲁网 - 山东省重点新闻网站,山东第一财经门户 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 二手光谱仪维修-德国OBLF光谱仪|进口斯派克光谱仪-热电ARL光谱仪-意大利GNR光谱仪-永晖检测 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 九爱图纸|机械CAD图纸下载交流中心| 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 【连江县榕彩涂料有限公司】官方网站 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 |