我的程序,VB6+ORACLE8.1.7,客户端30多个,昼夜两班不停的操作,大多数操作都是update一条记录或insert一条记录,现在我是直接update或insert,程序运行很慢,看网上文章说这是因为数据库更新操作没有使用事务处理,每次Update操作都会引起数据库写盘一次。应该使用BeginTrans及CommitTrans,使用事务处理后,更新只在内存缓冲区内进行,执行CommitTrans时才将所有修改一次写回到磁盘中。
我想问的是把BeginTrans及CommitTrans写在VB程序的哪儿合适呢?如果每次UPDATE前BeginTrans,UPDATE后立刻CommitTrans那不就跟没有用它们一样了? 如果在程序进入后连接上oracle数据库时就BeginTrans直到程序退出时再CommitTrans,我又担心这么多机器不停的UPDATE回滚段会不够用,并且一般半小时左右一些机器会用到另一些机器刚INSERT进去的数据,前面的机器不提交,那后面的机器能查到相关数据来UPDATE吗?到底该怎么办呢,请大家帮我。