• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
提高Visual
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
提高Visual Basic访问数据库效率
软件发布 提高Visual Basic访问数据库效率
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> 提高Visual Basic访问数据库效率

提高Visual Basic访问数据库效率

添加时间: 2006-2-13 9:06:57  作者: VB教程  阅读次数:69   来源: http://www.d9soft.com

       

    1.尽量使用事务处理更新数据库

    VB的事务处理包括以BeginTrans开始,以CommitTrans或Rollback结尾的多条数据库操作指令。事务处理除了能很好的保证数据库的完整性以外,同时能大大提高数据库批量更新的效率。这是因为如果数据库更新操作没有使用事务处理,则每次Update操作都会引起数据库写盘一次。使用事务处理后,更新只在内存缓冲区内进行,执行CommitTrans时才将所有修改一次写回到磁盘中。使用事务处理要注意一下几点:

  (1)事务处理要有很完善的错误检查机制;

  (2)因为VB在事务处理结束前对数据库使用了页面锁.所以在多用户环境中,如果事务被挂起,则其他用户将无法访问上锁的数据。

  2.尽量使用代码分解Select检索操作

  使用Select进行数据库操作固然简单易用,但如果将一些检索操作分解为等价的手工检索代码,则对数据库的检索速度将大大加快.分解的基本方法是对检索关键字段进行索引,利用Seek方法定位后,根据索引的数据库已经排序的特点,进行遍历查找.对于遍历范围不是很宽时,这种方法能几十倍的提高数据库的访问速度.例如:Select * from person where vol= '123' and birth= #11-02-73# 分解成下面的操作后,访问速度可大大提高:

  

  Table.Index= "vol"Table.Seek "=","123"if not table.nomatch then

  while not table.eof

   if table("vol")="123" then

    table.movelast

   else if table("Birth")= #11-02-73# then

    '找到记录

   end if

   table.movenext

  wendend if

  

  3.使用attach绑定数据库表

  当使用ODBC连接MS SQL Server,Oracle和Sysbase之类的数据库服务器时,我们可以通过MS Acess的attach功能将服务器上的表绑定到MS Acess数据库中,因为MS Acess数据库能缓存数据库服务器上表的结构,当我们访问ODBC数据源时能提高系统的访问性能。

  4.使用dbSQLPassThrough选项

  连接MS SQL Server, Oracle和Sysbase数据库服务器时,使用dbSQLPassThrough选项可将命令直接发送给数据库服务器,从而减少中间件对命令的检查和解释,提高了数据库的访问性能。下例使用存储过程建立Dynaset:

  dim mydb as databasedim myds as dynasetset mydb=opendatabase(..........)'打开数据库set myds=mydb.openrecordset("name",dbOpendynaset,dbSQLPassThrough,...)

  使用dbSQLPassThrough的缺点是返回的记录集是只读的。

  5.正确使用数据库访问对象Table.

  支持SEEK命令和索引.两者配合能最快的找到纪录.笔者曾经做过速度比较试验,都是检索10万个记录Table 用时3.5秒Dynaset 用时9秒Snapshot用时10秒.支持读写操作.不支持SORT和FILTER,必须使用Index代替.对应于数据库中的物理表,增,删,改会直接影响数据库表。

  Dynaset.最灵活的数据库对象.支持读写操作,是记录的动态子集.在ODBC中,写操作需要设定唯一性索引.支持SORT和FILTER.使用JOIN命令关联多个表时,只能使用Dynaset。

  Snapshot.只能读不能写,不能加锁.不支持事务处理.不支持Edit,Addnew和Update方法

 

上下文章:

 

上一篇文章: VB“变态”用法之高效字串指针类 下一篇文章: Visual Basic编程访问WMI对象

相关文章:

  • 如何手动创建oracle数据库
  • 微软推新搜索奖励计划 欲提高用户品牌忠诚度
  • VB.NET中快速访问注册表技巧
  • SQL存储过程在.NET数据库中的应用
  • 甲骨文进军硬件市场 为数据库搭建平台

相关软件:

  • 腾讯QQ IP数据库 1015 纯真版
  • Visual Importer Professional 7.6.4
  • Visual Importer Enterprise 7.6.4
  • Visual Data V2.0
  • 刷网页访问量工具 1.45
  • 计算机等级考试训练模拟软件(三级数据库技术) V1.01

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有