• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > 抽取10万条数据,想起GetRows()

抽取10万条数据,想起GetRows()

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了getrows,rs.getrows,datagrid getrows,sheet.getrows,easyui getrows等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
现有10W条数据,Access数据库保存

通过正常提取:


<%
Set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db2.mdb")
conn.Open connstr

Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from people order by id desc"
rs.Open sql,conn,1,1

Do While Not rs.EOF
    Response.write rs("id")&" | "
    rs.MoveNext
Loop
%>


http://www.cnbruce.com/test/getrows/show1.asp

耗时3,250.000毫秒,总测试平均值在3秒左右

==========================================================

使用存储过程提取:


<%
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2.mdb")

cmd.ActiveConnection = conn
cmd.CommandText = "Select * from people order by id desc"
Set rs = cmd.Execute

Do While Not rs.EOF
Response.write rs("id")&" | "
rs.MoveNext
Loop
%>


http://www.cnbruce.com/test/getrows/show2.asp

耗时2,187.500毫秒,总测试平均值在2秒左右

=========================================================

以上两种均不能彻底解决执行时间漫长的问题,主要原因即是循环每次都须向数据库抽取记录(Command速度相对较快)

那么使用GetRows()方法呢:


<%
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2.mdb")
cmd.ActiveConnection = conn
cmd.CommandText = "Select * from people order by id desc"
Set rs = cmd.Execute
rsArray = rs.GetRows()

For i = 0 To UBound(rsArray, 2)
Response.Write rsArray(0, i)&" | "
Next
%>


http://www.cnbruce.com/test/getrows/show3.asp

耗时187.500毫秒,总测试平均值在0.2秒左右

GetRows()方法是将数据从 Recordset 复制到二维数组中,这是一个二维数组,第一个下标标识字段,第二个则标识记录号

所以rsArray = rs.GetRows()
rsArray(0, 0)就表示记录集第一行的第一字段值
rsArray(1, 0)就表示记录集第一行的第二字段值

数组的数据是保存在内存中的,这就从根本上解决了每次显示记录还需向数据库请求的麻烦。

另外,关于GetRows()的详细介绍和用法,这里有份内容参考

http://www.51windows.net/pages/Ado/mdmthgetrows.htm

http://www.blueidea.com/tech/program/2005/2853.asp
</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • asp中记录集对象的getrows和getstring用法分析
  • 把RS.GetRows看得更清楚
  • 用存储过程、GetRows()、抽取10万条数据的速度测试
  • 抽取10万条数据,想起GetRows()
  • 在asp中通过getrows实现数据库记录分页的一段代码
  • asp中通过getrows实现数据库记录分页的一段代码
  • GetRows的用法详解!

相关文章

  • 2017-05-11用asp自动解析网页中的图片地址
  • 2017-05-11Webform 内置对象 Session对象、Application全局对象,ViewState详细介绍
  • 2017-05-11结合FSO操作和Aspjpeg组件写的Class
  • 2017-05-11ASP利用Google实现在线翻译功能
  • 2017-05-11DBTree 1.3.2
  • 2017-05-11小偷程序2
  • 2017-05-11FSO的强大功能
  • 2017-05-11在ASP中使用均速分页法提高分页速度
  • 2017-05-11非常不错的ASP+Access数据库的终极安全大法18则
  • 2017-05-11EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Dom遍历XML的一个例子,结果为树状结构
    • asp按关键字查询XML的代码
    • 好久没发布新玩意,完成了tsys的少年不在版
    • asp下检查表中是否存在某个字段(列)函数
    • 通过客户端验证上传图片文件大小的ASP源码
    • ASP中使用Set ors=oConn.Execute()时获取记录数的方法
    • asp中的Rnd 函数
    • ASP 循环导入导出数据处理 不使用缓存
    • ASP中有关双引号,单引号以及&号的解释
    • ASP中常用的函数和详细说明第1/2页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有