做WEB开发,大家一般都是怎么javaweb分页技术

查看: 2666|回复: 18
大家有推荐的比较好,效率高的分页方法吗
论坛徽章:7
头痛,我现在的项目SSH整合的,分页让我比较郁闷
大家有什么好的分页推荐,最好是效率高的。因为我的数据量不小,把结果集放入SESSION的方法不太好。头痛啊
论坛徽章:7
没有人回,伤心
论坛徽章:129
郁闷在哪呢, 不说怎么解决
论坛徽章:12
我顶JUST,呵呵
论坛徽章:4
查询用jdbc做,自己写分页函数。。。
每次取指定条数数据,估计,,,
性能会好点。。。
用存储过程也OK的说。
论坛徽章:129
llz不会一下子吧所有数据都拿出来,然后放session吧
论坛徽章:61
你一个结果集在整个登陆周期都要用吗?!session可不是随便放变量的。
论坛徽章:129
原帖由 laobai1982 于
15:55 发表
你一个结果集在整个登陆周期都要用吗?!session可不是随便放变量的。 是的
论坛徽章:7
我才不要放在session中了,可是又不想多次与数据库发生频繁的连接,用存储过程怎么写,能教个思路吗?
论坛徽章:129
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号3640人阅读
【Web前端】(11)
& & 熟悉Web开发的小伙伴们都知道分页这个玩意儿,但是不会编程的小伙伴们对这个也绝对不陌生,只是不知道这是在Web开发中的一个非常重要的需求和技术罢了.
& & 大家在浏览网上的文章或者图片的时候,经常会看到如下所示的页码显示效果:
& & 这就是所谓的分页技术.为什么要进行分页呢?
& & 很简单内容过多,会使我们的网页过长,我们在浏览网页的时候,不得不一直拖着滚动条或者一直去转鼠标的滚轮,才能看到全部的内容,转一圈、两圈、三圈,你觉得没什么,但是一直这么转下去,相信你会觉得非常的不爽,如此一来,为了获得更好的用户体验,就引入了分页技术。
& & 分页技术又分为了假分页和真分页两种实现方法。
& & 假分页:就是一次性将数据库中的数据全部取出来,然后在Web前端页面写代码,再进行分页显示,简单来说,先取出,再分页。下面我用ASP.NET控件GridView的分页属性AllowPaging和PageSize两个属性来实现一下假分页。代码实例如下:
& & 添加一个测试ASP页面,然后将数据库中news表的内容全部显示在GridView中,如下图:
& & 接下来我们来对显示内容进行分页处理,首先我们在GridView控件的属性列表中进行相关的设置,如下图:
& & 然后我们在页面及其页面代码中写如下语句:
&span style=&font-size:18&&&body&
&form id=&form1&runat=&server&&
&asp:GridViewID=&GridView1& runat=&server& AllowPaging=&True&Height=&316px& PageSize=&5& Width=&469px&OnPageIndexChanging=&GridView1_PageIndexChanging&&
&/asp:GridView&
&/body&&/span&
& & 页面对应的代码文件如下:
&span style=&font-size:18&&namespace Web
public partial class test :System.Web.UI.Page
protected void Page_Load(object sender,EventArgs e)
if (!Page.IsPostBack)
BindNews();
//绑定新闻
private void BindNews()
GridView1.DataSource = newNewsManager().SelectAll();
GridView1.DataBind();
//对GridView控件进行分页控制
protected voidGridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
GridView1.PageIndex =e.NewPageI
BindNews();
& & 完事以后的运行结果如下:
& & 这种方法只适用于数据记录较少的情况下,如果我们要做搜索引擎,对于搜索结果来说,都是在千万级别甚至是上亿条的数据量,你要采用假分页技术的话,那程序执行的速度以及数据的传输速度,慢到令人发指,有什么办法能够解决这个海量数据分页显示的问题呢?这时候,真分页技术出现了。
& &真分页:就是在数据库中只选择当前页面请求的那些记录,通俗来讲,就是先分页,后显示,也就是当前页面请求10-20条记录,那么我们就从数据库中获取相应的10-20条的记录,不会全部取出来所有的数据了,这样一来,速度会很快的。
& & 关于真分页的例子,我在这里也做一个。这里我们需要用到一个分页控件——ASPNetPager控件。大家可以在网上找到这个控件,自己添加到VS中,这里我就不作说明了,我们直接开始使用。
& & 同样对news表进行真分页显示实现,新建一个ASP页面,添加一个GridView控件和一个AspNetPager控件,对后者进行一些属性的设置,比如每页显示多少了等待,设置完毕后页面文件代码如下:
&span style=&font-size:18&&&body&
&form id=&form1& runat=&server&&
&asp:GridView ID=&GridView1& runat=&server& BackColor=&#CCFFFF& Height=&160px& Width=&800px&&&/asp:GridView&
&webdiyer:AspNetPager ID=&anp& runat=&server& FirstPageText=&第一页& LastPageText=&最后一页& NextPageText=&下一页& NumericButtonCount=&5& OnPageChanged=&anp_PageChanged& PageSize=&5& PrevPageText=&上一页& BackColor=&#99FF99& ForeColor=&Blue& Width=&800px&&
&/webdiyer:AspNetPager&
&/body&&/span&
& & 其页面对应的代码文件如下:
&span style=&font-size:18&&namespace Web
public partial class test : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
if (!Page.IsPostBack)
//初次加载页面的显示设置
anp.RecordCount = 30;
GridView1.DataSource = new NewsManager().SelectNewsByPage(anp.StartRecordIndex, anp.EndRecordIndex);
GridView1.DataBind();
//当AspNetPager控件的页码改变时触发的事件
protected void anp_PageChanged(object sender, EventArgs e)
//Response.Write(&开始记录数:&+ anp.StartRecordIndex+
& &br&结束记录数:& + anp .EndRecordIndex );
GridView1.DataSource = new NewsManager().SelectNewsByPage(anp.StartRecordIndex, anp.EndRecordIndex);
GridView1.DataBind();
& & 最后需要给出的是DAL层的分页显示的查询函数,这个蛮重要的,如下所示:
&span style=&font-size:18&&
/// &summary&
/// 采用真分页技术实现分页显示新闻
/// &/summary&
/// &param name=&startindex&&页面开始的行号&/param&
/// &param name=&endindex&&页面截止的行号&/param&
/// &returns&&/returns&
public DataTable SelectNewsByPage(int startindex,int endindex)
DataTable dt = new DataTable();
string procName = &with temptb1 as (select ROW_NUMBER () over (order by id desc )as 行号,* from news) select * from temptb1 where 行号 between @startIndex and @endIndex&;
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter (&@startIndex&,startindex),
new SqlParameter (&@endIndex&,endindex )
dt = sqlhelper.ExecuteQuery(procName, paras, CommandType.Text );
& & 最后我们来看运行的结果如何:
& & 小结:分页技术在Web应用开发中十分常见,只要我们与数据库打交道,就免不了使用分页技术,因此这个对Web开发人员来说就是一个必备技能。当然了上面只是说明了两个简单的方法实现分页显示,分页技术的实现的方法有很多很多,大家感兴趣的话可以去查阅资料,了解一下。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:216028次
积分:10753
积分:10753
排名:第1053名
原创:150篇
评论:2114条
在技术的海洋里遨游是一件十分有趣的事情,欢迎各位技术达人与我一同探讨,技术,职业,人生……
文章:14篇
阅读:8131
文章:14篇
阅读:12780
(4)(4)(4)(4)(4)(5)(5)(5)(4)(4)(4)(4)(5)(6)(4)(4)(4)(4)(5)(4)(8)(4)(4)(4)(5)(4)(5)(8)(5)(4)(4)(5)(5)(2)(1)(2)分页教程-动态脚本编程_
优质网站模板(点击上方公众号,可快速关注)作者:大搜车前端团队博客网址:/blog/ru-he-xie-ge-jian-dan-de-fen-ye/好基友现在也是个前端,昨天他问我说:公司的大部分任务都能应付着做了,现在要做个分页,如果用插件的话,很快就能上,但是我想提升一下自己,怎么从头开始写一个呢,实在是一点思路也没有。我想,很多自学前端的同学都会遇到这样一个坎儿,我能做很多东西,但是感觉自己还是啥都不会。编程,很重要的一个技能就是抽象能力,就是现实中的琐事儿,我怎么用代码来表示。(是表示哈,不是人工智能)我特别崇拜 ACM 的获奖者,我们公司的死月大大就曾经是 ACM 全国一等奖哦,快过来膜拜。ACM 是做一些 c 语言算法题,但是你从中可以看到,那些题目都是从生活的例子出发,然后就得到了这样一个用 c 语言可以编程的题。现在回归那个分页。我们先看一下简单的需求。当前页码前后显示 3 页,然后需要显示第一页和最后一页未显示的页码用省略号表示。举例:如果总共 110 页当前页码为 1,那么显示 1 2 3 4 ... 110 下一页当前页码为 2,那么显示 上一页 1 2 3 4 5 ... 110 下一页当前页码为 3,那么显示 上一页 1 2 3 4 5 6 ... 110 下一页当前页码为 4,那么显示 上一页 1 2 3 4 5 6 7 ... 110 下一页当前页码为 5,那么显示 上一页 1 2 3 4 5 6 7 8 ... 110 下一页当前页码为 6,那么显示 上一页 1 ... 3 4 5 6 7 8 9 ... 110 下一页…当前页码为 100,那么显示 上一页 1 ... 97 98 99 100 101 102 103 ... 110 下一页…当前页码为 109,那么显示 上一页 1 ... 106 107 108 109 110 下一页当前页码为 110,那么显示 上一页 1 ... 107 108 109 110那么你可能就看出来了,虽然每一页在实际应用中都是一个超链接,但是我们在思考算法时可以先将其忽略。现在就变成了一个简单的字符串输出题。我们先定义一个函数function&showPages&(page,&total)&{&}盲目的就开始码代码一定是个不好的习惯,码代码之前,我们要先准备好覆盖所有情况的测试。这个题就简单咯,我们可以把所有结果都打印出来呗。在无需引入一个代码测试库的情况下,我们来这么干var&total&=&110;&&for&(var&i&=&1;&i&&=&total;&i++)&{&&&&&&var&ret&=&showPages(i,&total);&&&&console.log(ret);}就从页码为 1 到最后一页的结果全输出出来了。我之所以崇拜 ACM 大神,是因为我算法能力其实一般般,所以献丑贴代码一定不要笑话我哦,咱说好,本文讲的是解决问题的思维模式。function&showPages&(page,&total)&{&&&&&&&&var&str&=&page&+&'';&&&&&&&&&for&(var&i&=&1;&i&&=&3;&i++)&{&&&&&&&&&&&&if&(page&-&i&&&1)&{&&&&&&&&&&&&&&&&str&=&page&-&i&+&' '&+&str;&&&&&&&&&&&&}&&&&&&&&&&&&if&(page&+&i&&&total)&{&&&&&&&&&&&&&&&&str&=&str&+&' '&+&(page&+&i);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&&if&(page&-&4&&&1)&{&&&&&&&&&&&&str&=&'... '&+&str;&&&&&&&&}&&&&&&&&&if&(page&&&1)&{&&&&&&&&&&&&str&=&'上一页 '&+&1&+&' '&+&str;&&&&&&&&}&&&&&&&&&if&(page&+&4&&&total)&{&&&&&&&&&&&&str&=&str&+&' ...';&&&&&&&&}&&&&&&&&&if&(page&&&total)&{&&&&&&&&&&&&str&=&str&+&' '&+&total&+&' 下一页';&&&&&&&&}&<span class="crayon-h" 前端大全(FrontDev) 
 文章为作者独立观点,不代表大不六文章网立场
的最新文章
分页是一个很简单,通用的功能。作为一个有经验的前端开发人员,有义务把代码中类似这样公共的基础性的东西抽象出来,一来是改善代码的整体质量,更重要的是为了将来做类似的功能或者类似的项目,能减少不必要的重复工作量。Underscore.js 是一个由 Jeremy Ashkenas 开发的 JavaScript 库,它提供了许多作为开发者的我们在开发 Web 项目所需要的实用功能。今天我们来看一看 TypeScript,它是一种可以编译成 JavaScript 的编程语言,是为构建大型复杂应用程序的开发者们而设计的。所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。它是AJAX技术的进一步升华,把AJAX的无刷新机制发挥到极致,因此能造就与桌面程序媲美的流畅用户体验。曾有人调侃,设计模式是工程师用于跟别人显摆的,显得高大上;也曾有人这么说,不是设计模式没用,是你还没有到能懂它,会用它的时候。说到 React 组件,肯定离不开组件的 props 和 state,我们可以在 props 和 state 存放任何类型的数据,通过改变 props 和 state,去控制整个组件的状态。W3C 使用特定的语法来定义所有可能在 CSS 属性中使用的值。如果你曾经看过 CSS 规范,你可能已经见过这种语法的使用 – 比如 border-image-slice 语法。用 CSS3 绘制你需要的几何图形。圆形,思路:给任何正方形元素设置一个足够大的 border-radius ,就可以把它变成一个圆形.卤煮在公司之初接触到的是一个微信APP应用。前端技术采用的是Backbone+zepto等小型JS类库。在项目开发之初,这类中小型的项目采用这两种库可以满足基本的需求。算起来已经足足两个半月没有更新文章,这段时间过得比较忙:夜间跑步计划、卖房买房以及工作上各种事情都凑到一块了。实际上,最近也并没有忙到完全抽不出时间写博客这种地步,根本原因可能还是变懒了,这样不好。那天和boss聊天,不经意间提到了Meteor,然后聊到了WebSocket,然后就有了以下对话,不得不说,看问题的方式不同,看到的东西也会大不相同。在前两章,为了方便调试,我们写了一个非常简单的 jQuery.fn.init 方法JavaScript 的格局日新月异,网站和应用的依赖关系也随之而变。这篇文章适合那些大量使用 script 标签来加载 JS 的程序员,随着网页数目增多和项目规模的扩大,他们感觉到依赖管理变得越来越笨重。无论编码能力如何,我们都会犯错。不仅自己代码中会有 bug,多数的 web 应用是由团队创建的,所以队友和你一样,都有可能犯错。此外,接手遗留代码意味着同时继承了其它团队的 bug。在此情况下,调试技巧就派上用场了。Node.js 让 JavaScript 编写服务器端应用程序成为可能。它建立在 JavaScript V8运行时之上,所以它很快。最初,它旨在为应用程序提供服务器环境,但是开发人员开始利用它来创建工具,帮助他们本地的任务自动化。我们从一些小测试开始。以下情况都会弹出什么结果?由于最近做了一些页面的动画效果,之前经验不多,这次做的过程中碰到些问题,加之很早前就阅读过一篇很好介绍动画的博客《关于动画,你需要知道的》,来自十年踪迹,所以就思考了一些关于动画的基本原理的问题,比如本文这个。HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。不看不知道,一看吓一跳,已经整整一个月没有更新 underscore 源码解读系列文章了。前面我们已经完成了 Object ,Array,Collection 上的扩展方法的源码剖析,本文开始来解读 Function 上的扩展方法。回想n年前刚写前端的时候,在处理一个’鼠标hover切换背景图会闪’的问题时,将两张背景图合成一张图片,顺利解决问题。这应该是我第一次用到雪碧图的情况。受到好文《Web开发的发展史》(英文)激发的灵感,写下我对web开发技术的认识。
大学时候,上机还得换卡穿拖鞋,Novell的网络是很神奇的,然而更神奇的是通讯原理老师半神秘的讲他上 InternetArunr 把过去 15 年以来,Web开发从最初的纯 HTML 到 CGI、PHP\JSP\ASP、Ajax、Rails、NodeJS 这个过程简要地进行了介绍。Arunr 计划把这个作为一个大纲,接下来把每一部分详细地写点东西。看完 Collection Functions 部分的源码,首先迫不及待想跟大家分享的正是本文主题 —— 数组乱序。这是一道经典的前端面试题,给你一个数组,将其打乱,返回新的数组,即为数组乱序,也称为洗牌问题。在日常的前端开发中,我们会遇到 LESS/SASS 编译、CSS 前缀自动补全 、CSS 压缩、 图片压缩、JS 合并压缩、布署发布 等各种各样的操作。通常,我们都会根据实际情况定制一个 流程 性的工具来实现所有常规的功能underscore 给数组(以及 arguments,这里特别说明下,underscore 的数组扩展方法,同样适用于 arguments)增加了 20 个扩展方法本篇文章并没有单纯的罗列出前端开发涉及到的技术栈,而是探寻这些技术栈背后的『秘密』,适合初学者以及想要了解这些『秘密』的阅读者。CSS可以修改图片的颜色,没错,可以,眼见为实!上面的不是很黑的是原始图标,是个PNG图片,下面这个是可以赋色的在过去的几年里,网站进化成了复杂的网页应用。曾经的互联网只涉及到简单的商业信息展现,而如今,看看 Facebook、Slack、Spotify 以及 Netflix,互联网正在改变你的社交和生活方式。最近在研究页面渲染及web动画的性能问题,以及拜读《CSS SECRET》(CSS揭秘)这本大作。本文主要想谈谈页面优化之滚动优化。最近开始看 underscore源码,并将 underscore源码解读 放在了我的 2016计划 中。
阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多。为什么是 underscore?对 JavaScript 程序员来说,处理回调是家常,但是处理层次过深的回调就没有那么美好了,下面的示例代码片段用了三层回调,再补脑一下更多层的场景,简直是酸爽,这就是传说中的回调地狱。以前看过一套 JavaScript 题目,借花献佛拿出来分享一下。附带了自己的理解和答案。有争议的地方,欢迎大家指出和讨论。writing-mode这个CSS属性,我们是不是很少见到,很少用到!我们往往称不常见的东西为“生僻”,就像是不常见的文字我们叫“生僻字”,因此不常见的CSS属性,我们可以叫做“生僻属性”关于 JavaScript,就算什么都不记得了,也请牢记这一点:它是阻塞式的。想象一下,你的浏览器是靠一个神奇的小精灵来运行的。Backbone中主要的业务逻辑位于Model和Collection,上一篇介绍了Backbone中的Model,这篇文章中将主要探讨Collection的源码。ECMAScrip 6 之前,JavaScript 是天生模块化缺失的,代码之间隔离最基本的单位是函数,通常 JavaScript 的模块化也是采用函数来实现。JavaScript 采用词法作用域(lexical scoping),函数执行依赖的变量作用域是由函数定义的时候决定,而不是函数执行的时候决定。无线页面本就分秒必争,更不用说当我们在无线页面中使用动画的时候。不管是css动画还是canvas动画,我们都需要时刻小心着,并且有必要掌握页面性能的基本分析方法。工作中可能会用到的小工具,在此记录一下。可以实现的功能有:本地http服务器,页面实时刷新,可以模拟ajax请求之前学习 react+webpack ,偶然路过 webpack 官网 ,看到顶部的 LOGO ,就很感兴趣。最近觉得自己 CSS3 过于薄弱,想着深入学习一番,遂以这个 LOGO 为切入口,好好研究学习了一下相关的 CSS3 属性。JavaScript 可能是迄今为止最被误解的语言,它包含的许多美妙设计被其同样包含的糟糕设计所淹没,总体上给人的印象是一种没有做好充分设计的、稍显混乱的玩具语言。现在我们再重新梳理一下语言的基本特性,仔细分辨哪些是好的、哪些是坏的。上篇文章中,我介绍了 HTTP 协议中的 Accept-Encoding 和 Content-Encoding 机制。它可以很好地用于文本类响应正文的压缩,减少网络数据的传输,已被广泛使用。在 《一次 Node.js 应用内存暴涨分析》中,我们处理了一个 Node.js vm 引发的内存泄漏问题,处理过程也是比较艰辛。上一次我们简单的谈了一下font set和一些要注意的基本问题。今天我们继续字体这一话题,深入讲讲上次提到的“通用字体族”。首先是最常用的 serif 和 sans-serif 这两个通用字体族。性能优化一直是前端工作中十分重要的一环,都说从 10 到 1 容易,从 1 到 0 很难。而随着前端技术的飞速发展,没有什么技术或者法则是金科玉律一沉不变的。很佩服那些勇于挑战权威,推陈出新的勇者,是他们让我们的技术不断的变革更加的卓越。在传统MVC框架模式中,Model承担业务逻辑的任务。Backbone作为一个mvc框架,主要的业务逻辑交由Model与Collection来实现。Model代表领域对象,今天主要学一下Model源码中几个重要的函数。本文将对 jQuery each() 函数作一个比较全面的介绍。 each() 函数是 jQuery 中最重要也是最常用的函数之一。通过本文你将明白为什么 each() 函数如此大放异彩,同时还将详细介绍如何使用 each() 函数。本文介绍一个jquery的小技巧,能让任意组件对象都能支持类似DOM的事件管理,也就是说除了派发事件,添加或删除事件监听器,还能支持事件冒泡,阻止事件默认行为等等。CSS 动画已经存在很多年了,使用恰当可以很好地提高网站的用户体验,也正是由于其容易使用,就很可能出现性能低下的动画,从而降低了整个页面的运行效率。从春节回来开始直到现在,公司就像开了闸的西湖水一样进行着新陈更替,可以说开发团队算是重组了。眼看着身边发生这种情况,虽然没有什么想法但还是有了点想法,所以想写篇文章阐述一下。FrontDev分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯热门文章最新文章FrontDev分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯三种分页方式效率的简单测试_全栈开发者中心-爱微帮
&& &&& 三种分页方式效率的简单测试
  本文的三种分页方案来自于:  http://blog.csdn.net/lihonggen0/archive//103511.aspx  只是做了更大数据量、不同位置页的对比。  建立表:CREATE TABLE [TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO  插入数据:(100万条)SET IDENTITY_INSERT TestTable ON
declare @i int
while @i&=1000000
insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, &#39;FirstName_XXX&#39;,&#39;LastName_XXX&#39;,&#39;Country_XXX&#39;,&#39;Note_XXX&#39;)
set @i=@i+1
SET IDENTITY_INSERT TestTable OFF  分页方案一:(利用Not In和SELECT TOP分页)  语句形式:SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
ORDER BY id))
ORDER BY ID  分页方案二:(利用ID大于多少和SELECT TOP分页)SELECT TOP 页大小 *
FROM TestTable
WHERE (ID &
(SELECT MAX(id)
FROM (SELECT TOP 页大小*页数 id
ORDER BY id) AS T))
ORDER BY ID  分页方案三:(利用SQL的游标存储过程分页)create
procedure XiaoZhengGe
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off  测试结果:  测试均为每页10条,三个数字依次为三种方案出结果需要的时间,单位为秒:  第2页:18,10,29  第500页:12,8,21  第50000页:16,18,22  第500000页:24,16,22  这次测试的主要目的是对大数据量不同部分的翻页效率的测试。本以为应该是一个线性的结果,结果发现变化很奇怪。多测试几次结果误差在1、2秒之内,估计sql server对于翻页也是根据不同位置有优化的。看了查询分析,主要的花销还是order by,这还是主键的,如果不是主键,或者是字符串,估计更慢。  因为还有别的事情要忙,也没有做进一步的测试,有兴趣的朋友可以继续做做10万条、无索引、字符串内容的各种测试,记得告诉我一下结果。  via:squirrel_sc
点击展开全文
悄悄告诉你
更多同类文章
还可知道有多少人阅读过此篇文章哦
阅读原文和更多同类文章
可微信扫描右侧二维码关注后
还可知道有多少人阅读过此篇文章哦
全栈开发者,也叫全端工程师,指同时具备 Web前端,后端,移动端的能力,掌握多种编程语言,并能利用多种技能独立完成产品的人。
您的【关注和订阅】是作者不断前行的动力
本站文章来自网友的提交收录,如需删除可进入
删除,或发送邮件到 bang@ 联系我们,
(C)2014&&版权所有&&&|&&&
京ICP备号-2&&&&京公网安备34}

我要回帖

更多关于 web分页技术 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信