首页 | 公司简介 | 数据恢复 | 备份服务 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 数据恢复软件 | 联系我们 | 北亚博客  
 
  北京总部: 4006-505-646
  天 津 部: 4006-505-646
  上 海 部: 4006-505-646
  深 圳 部: 4006-505-646
  广 州 部: 4006-505-646
  重 庆 部: 4006-505-646
  南 京 部: 4006-505-646
  其它地区: 4006-505-646
北亚数据恢复软件Windows专业版
三星手机数据恢复软件V1.0
北亚苹果手机数据恢复软件V2.0
北亚硬盘录像机数据恢复软件 V
北亚vmware虚拟机数据恢复软件
北亚照片数据恢复软件
北亚摄像机数据恢复软件 v2.1
北亚Sybase数据库修复软件 V2.
raid磁盘阵列应急方案
HP EVA4400/6400/8400/P6000
iphone 通讯录丢失如何恢复?
xen server 存储库(sr)损坏后
RAID6结构原理详解(北亚数据
AIX下删除LV后的现场保护和数
RAID损坏后 对数据的完整备份
您当前的位置:首页 >> 技术中心 >> 文件修复文栏 >> 正文

提高Visual Basic访问数据库的效率

  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网

上一篇:VB实现SQL Server 2000存储过程调用
下一篇:Win XP注册表的备份
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚宸星科技有限公司
全国统一客服热线:4006-505-646
北京总部:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备09039053

nsi":