提高VisualBasic访问数据库的效率

EterRal丶

EterRal丶

2016-02-19 19:28

今天图老师小编给大家介绍下提高VisualBasic访问数据库的效率,平时喜欢提高VisualBasic访问数据库的效率的朋友赶紧收藏起来吧!记得点赞哦~
1.尽量使用事务处理更新数据库

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

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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

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

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

Table.Index="vol"Table.Seek"=","123"ifnottable.nomatchthen
  whilenottable.eof
   iftable("vol")="123"then
  table.movelast
   elseiftable("Birth")=#11-02-73#then
  '找到记录
   endif
   table.movenext
  wendendif
  

  3.使用attach绑定数据库表

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

  4.使用dbSQLPassThrough选项

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

  dimmydbasdatabasedimmydsasdynasetsetmydb=opendatabase(..........)'打开数据库setmyds=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方法。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)->

展开更多 50%)
分享

猜你喜欢

提高VisualBasic访问数据库效率

编程语言 网络编程
提高VisualBasic访问数据库效率

提高VisualBasic访问数据库的效率

编程语言 网络编程
提高VisualBasic访问数据库的效率

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

建立JSP操作提高数据库访问效率

Java JAVA基础
建立JSP操作提高数据库访问效率

JSP操作用以提高数据库访问效率

Web开发
JSP操作用以提高数据库访问效率

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

建立JSP操作以提高数据库访问的效率

Java JAVA基础
建立JSP操作以提高数据库访问的效率

建立JSP操作用以提高数据库访问效率

Web开发
建立JSP操作用以提高数据库访问效率

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

J2ME程序开发全方位基础讲解汇总

J2ME程序开发全方位基础讲解汇总

初学者想学Hibernate初级基础教程

初学者想学Hibernate初级基础教程
下拉加载更多内容 ↓